SkillDetailsGroupBox.h
Go to the documentation of this file.
1#ifndef SKILLDETAILGROUPBOX_H
2#define SKILLDETAILGROUPBOX_H
3
4#include <QGroupBox>
5#include <QLabel>
6#include <QPushButton>
7#include <QSplitter>
8#include <QVBoxLayout>
9
13
16#include "ProfileMenuWidget.h"
18
19namespace armarx::skills::gui
20{
21 class SkillDetailGroupBox : public QGroupBox, public MemoryCommunicatorBase
22 {
23 Q_OBJECT
24 public:
25 static const constexpr char* EXECUTE_SKILL_BUTTON_TEXT = " Request Execution";
26 static const constexpr char* GROUP_BOX_TITLE = "Skill Description";
27
28 SkillDetailGroupBox(std::shared_ptr<SkillManagerWrapper> _memory,
29 QWidget* parent = nullptr) :
30 QGroupBox(parent), MemoryCommunicatorBase(_memory)
31 {
32 setupUi();
33 }
34
35 signals:
37
39 void executed(const skills::SkillID skillId);
40
41 public slots:
42 /**
43 * @brief Notify subwidgets of an updated skill selection.
44 * @param skillId
45 */
47
48 void connectGui(std::string observerName);
49
50 private slots:
51 void handleExecutionRequest();
52 void resizeEvent(QResizeEvent* event) override;
53
54 private:
55 void setupUi();
56 void connectSignals();
57
58 QVBoxLayout* layout = nullptr;
59 QSplitter* splitter = nullptr;
60 QPushButton* executeSkillButton = nullptr;
61 SkillDetailsTreeWidget* skillDetailsTreeWidget = nullptr;
62 SkillDescriptionWidget* skillDescriptionWidget = nullptr;
63
64 ProfileMenuWidget* profileMenuWidget = nullptr;
65 QLabel* titleLabel = nullptr;
66 };
67} // namespace armarx::skills::gui
68
69#endif // SKILLDETAILGROUPBOX_H
MemoryCommunicatorBase(std::shared_ptr< SkillManagerWrapper > _memory)
void executed(const skills::SkillID skillId)
static const constexpr char * GROUP_BOX_TITLE
SkillDetailGroupBox(std::shared_ptr< SkillManagerWrapper > _memory, QWidget *parent=nullptr)
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