SkillExecutionTreeWidgetItem.h
Go to the documentation of this file.
1#ifndef SKILLEXECUTIONTREEWIDGETITEM_H
2#define SKILLEXECUTIONTREEWIDGETITEM_H
3
4#include <QPushButton>
5#include <QTreeWidgetItem>
6
10
13
14namespace armarx::skills::gui
15{
16 static const std::map<skills::SkillStatus, std::string> EXECUTION_STATUS_TO_STRING = {
17 // Main states
18 {skills::SkillStatus::Constructing, "Constructing"},
19 {skills::SkillStatus::Initializing, "Initializing"},
20 {skills::SkillStatus::Preparing, "Preparing"},
22
23 // Terminating
26 {skills::SkillStatus::Succeeded, "Succeeded"}};
27
29 public QObject,
30 public QTreeWidgetItem,
32 {
33 Q_OBJECT
34 public:
36
38 std::shared_ptr<SkillManagerWrapper> _memory,
40 MemoryCommunicatorBase(_memory), executionId(id), parentTree(parent)
41 {
42 setupUi();
43 }
44
47 const skills::SkillExecutionID& needle);
48
50
51 void updateItem(skills::SkillStatus& skillStatus);
52
53 protected:
55
56 public slots:
57 void abortExecution();
58
59 private:
60 void setupUi();
61 void connectSignals();
62 void updateButtonState(skills::SkillStatus& skillStatus);
63 SkillExecutionTreeWidget* parentTree = nullptr;
64 QPushButton* abortButton = nullptr;
65 };
66} // namespace armarx::skills::gui
67
68#endif // SKILLEXECUTIONTREEWIDGETITEM_H
MemoryCommunicatorBase(std::shared_ptr< SkillManagerWrapper > _memory)
SkillExecutionTreeWidgetItem(const skills::SkillExecutionID &id, std::shared_ptr< SkillManagerWrapper > _memory, SkillExecutionTreeWidget *parent)
static SkillExecutionTreeWidgetItem * SearchRecursiveForMatch(SkillExecutionTreeWidgetItem *haystack, const skills::SkillExecutionID &needle)