3#include <qpushbutton.h>
18 std::optional<skills::ProviderID> provider_opt;
30 if (provider_opt == std::nullopt)
45 skillDetailsTreeWidget->resetWidget();
58 titleLabel->setText(QString::fromStdString(skillId.
toString()));
62 skillDetailsTreeWidget->updateContents(skillId, descr);
65 skillDescriptionWidget->setSkillDescription(descr);
75 skillDetailsTreeWidget->setEditTriggers(QAbstractItemView::EditTrigger::NoEditTriggers);
79 SkillDetailGroupBox::handleExecutionRequest()
82 auto skillId = skillDetailsTreeWidget->
getShownId();
83 if (skillId.has_value())
85 memory->startExecutionWithParams(skillId.value(),
data);
90 SkillDetailGroupBox::resizeEvent(QResizeEvent* event)
92 QGroupBox::resizeEvent(event);
97 SkillDetailGroupBox::setupUi()
100 titleLabel =
new QLabel(QString::fromStdString(
"Skill ID"));
101 titleLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
103 this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
106 this->executeSkillButton =
new QPushButton();
107 this->profileMenuWidget =
new ProfileMenuWidget(this->
memory,
this);
108 this->skillDetailsTreeWidget =
new SkillDetailsTreeWidget(this->
memory,
this);
109 this->skillDescriptionWidget =
new SkillDescriptionWidget(
this);
110 this->layout =
new QVBoxLayout();
111 this->splitter =
new QSplitter();
112 splitter->setOrientation(Qt::Orientation::Vertical);
115 this->setLayout(layout);
116 layout->addWidget(titleLabel);
117 layout->addWidget(this->profileMenuWidget);
118 layout->addWidget(splitter);
119 splitter->addWidget(this->skillDescriptionWidget);
120 splitter->addWidget(this->skillDetailsTreeWidget);
121 layout->addWidget(this->executeSkillButton);
124 this->executeSkillButton->setText(
127 QPixmap pix(QString::fromStdString(
":icons/run.svg"));
129 this->executeSkillButton->setIcon(icon);
137 SkillDetailGroupBox::connectSignals()
139 connect(executeSkillButton,
140 &QPushButton::clicked,
142 &SkillDetailGroupBox::handleExecutionRequest);
145 skillDetailsTreeWidget,
149 skillDetailsTreeWidget,
153 connect(profileMenuWidget->copyArgsToClipboard,
154 &QPushButton::clicked,
155 skillDetailsTreeWidget,
157 connect(profileMenuWidget->copyShortcutToClipboard,
158 &QPushButton::clicked,
159 skillDetailsTreeWidget,
161 connect(profileMenuWidget->setArgsFromClipboard,
162 &QPushButton::clicked,
163 skillDetailsTreeWidget,
165 connect(profileMenuWidget->resetArgsToProfile,
166 &QPushButton::clicked,
167 skillDetailsTreeWidget,
169 connect(profileMenuWidget->changesSelector,
170 &QPushButton::pressed,
171 skillDetailsTreeWidget,
173 connect(skillDetailsTreeWidget,
177 connect(profileMenuWidget->historySelector,
178 &QPushButton::pressed,
179 skillDetailsTreeWidget,
Brief description of class memory.
bool isProviderSpecified() const
std::string toString() const
std::optional< ProviderID > providerId
static const constexpr char * UNKNOWN
std::shared_ptr< SkillManagerWrapper > memory
void connectGui(std::string observerName)
static const constexpr char * GROUP_BOX_TITLE
void updateSkillDetails(skills::SkillID &skillId)
Notify subwidgets of an updated skill selection.
void updateGui(SkillManagerWrapper::Snapshot update)
static const constexpr char * EXECUTE_SKILL_BUTTON_TEXT
static const std::optional< skills::ProviderID > findFirstProvider(SkillMap const &map, SkillID const &skillId)
This file is part of ArmarX.