diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp index a8c58b4aee855fad6c6329357bace107f44c143e..cab9f45f9f77ad65fe7eff3970728aeea118006d 100644 --- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp +++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp @@ -161,13 +161,7 @@ namespace armarx::skills::gui if (found) { - for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING) - { - if (i.first == statusUpdate.status) - { - found->setText(3, QString::fromStdString(i.second)); - } - } + found->updateItem(statusUpdate.status); break; } @@ -178,17 +172,7 @@ namespace armarx::skills::gui // TODO: Sort to executor! auto item = new SkillExecutionTreeWidgetItem(executionId, memory); - item->setText( - 0, QString::fromStdString(executionId.executionStartedTime.toDateTimeString())); - item->setText(1, QString::fromStdString(executionId.executorName)); - item->setText(2, QString::fromStdString(executionId.skillId.toString())); - for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING) - { - if (i.first == statusUpdate.status) - { - item->setText(3, QString::fromStdString(i.second)); - } - } + item->updateItem(statusUpdate.status); this->insertTopLevelItem(0, item); } diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h index 0c7e2ffba3b9328ded3e4f8720e4c9da06210158..795045302b4b47655e196e4cea566d53140f90d6 100644 --- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h +++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.h @@ -10,18 +10,6 @@ namespace armarx::skills::gui { - static const std::map<skills::SkillStatus, std::string> EXECUTION_STATUS_TO_STRING = { - // Main states - {skills::SkillStatus::Constructing, "Constructing"}, - {skills::SkillStatus::Initializing, "Initializing"}, - {skills::SkillStatus::Preparing, "Preparing"}, - {skills::SkillStatus::Running, "Running"}, - - // Terminating - {skills::SkillStatus::Aborted, "Aborted"}, - {skills::SkillStatus::Failed, "Failed"}, - {skills::SkillStatus::Succeeded, "Succeeded"}}; - class SkillExecutionTreeWidget : public QTreeWidget, public MemoryCommunicatorBase { public: diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp index 924aea9b546e715745705c1ab612926b7b804444..e1b054e6fc8f87f67e906e4e09a86cacd3837bd3 100644 --- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp +++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.cpp @@ -34,4 +34,25 @@ namespace armarx::skills::gui { return this->executionId; } + + void + SkillExecutionTreeWidgetItem::updateItem(skills::SkillStatus& skillStatus) + { + this->setText(0, + QString::fromStdString(executionId.executionStartedTime.toDateTimeString())); + this->setText(1, QString::fromStdString(executionId.executorName)); + this->setText(2, QString::fromStdString(executionId.skillId.toString())); + for (std::pair<skills::SkillStatus, std::string> i : EXECUTION_STATUS_TO_STRING) + { + if (i.first == skillStatus) + { + this->setText(3, QString::fromStdString(i.second)); + } + } + } + + void SkillExecutionTreeWidgetItem::setupUi() + { + + } } // namespace armarx::skills::gui diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h index e46b2eb7219337028f645eb833770429a1c5d0b1..a9a6dd957b4b3500a3a17d9919681fd37da9eae5 100644 --- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h +++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidgetItem.h @@ -11,6 +11,18 @@ namespace armarx::skills::gui { + static const std::map<skills::SkillStatus, std::string> EXECUTION_STATUS_TO_STRING = { + // Main states + {skills::SkillStatus::Constructing, "Constructing"}, + {skills::SkillStatus::Initializing, "Initializing"}, + {skills::SkillStatus::Preparing, "Preparing"}, + {skills::SkillStatus::Running, "Running"}, + + // Terminating + {skills::SkillStatus::Aborted, "Aborted"}, + {skills::SkillStatus::Failed, "Failed"}, + {skills::SkillStatus::Succeeded, "Succeeded"}}; + class SkillExecutionTreeWidgetItem : public QTreeWidgetItem, public MemoryCommunicatorBase { public: @@ -21,6 +33,7 @@ namespace armarx::skills::gui std::shared_ptr<SkillManagerWrapper> _memory) : MemoryCommunicatorBase(_memory), executionId(id) { + setupUi() } static SkillExecutionTreeWidgetItem* @@ -29,10 +42,11 @@ namespace armarx::skills::gui skills::SkillExecutionID getExecutionId(); + void updateItem(skills::SkillStatus& skillStatus); + protected: skills::SkillExecutionID executionId; - private: void setupUi(); };