SkillDetailsGroupBox.h
Go to the documentation of this file.
1 #ifndef SKILLDETAILGROUPBOX_H
2 #define SKILLDETAILGROUPBOX_H
3 
4 #include <QGroupBox>
5 #include <QPushButton>
6 #include <QVBoxLayout>
7 
10 
11 #include "../aron_tree_widget/widgets/SkillDescriptionWidget.h"
12 #include "../memory/MemoryCommunicatorBase.h"
13 #include "ProfileMenuWidget.h"
14 #include "SkillDetailsTreeWidget.h"
15 
16 namespace armarx::skills::gui
17 {
18  class SkillDetailGroupBox : public QGroupBox, public MemoryCommunicatorBase
19  {
20  Q_OBJECT
21  public:
22  static const constexpr char* EXECUTE_SKILL_BUTTON_TEXT = "Request Execution";
23  static const constexpr char* GROUP_BOX_TITLE = "Skill Description";
24 
25  SkillDetailGroupBox(std::shared_ptr<SkillManagerWrapper> _memory,
26  QWidget* parent = nullptr) :
27  QGroupBox(parent), MemoryCommunicatorBase(_memory)
28  {
29  setupUi();
30  }
31 
32  signals:
33  void disconnectGui();
34 
35  /**
36  * @brief Notify widgets to update themselves
37  */
38  void updateGui();
39 
40  public slots:
41  /**
42  * @brief Update subwidgets of an updated skill selection.
43  * @param skillId
44  */
45  void updateSkillDetails(skills::SkillID& skillId);
46 
47  void connectGui(std::string observerName);
48 
49  private slots:
50  void handleExecutionRequest();
51  void resizeEvent(QResizeEvent* event) override;
52 
53  private:
54  void setupUi();
55  void connectSignals();
56 
57  QVBoxLayout* layout = nullptr;
58  QPushButton* executeSkillButton = nullptr;
59  SkillDetailsTreeWidget* skillDetailsTreeWidget = nullptr;
60  SkillDescriptionWidget* skillDescriptionWidget = nullptr;
61 
62  ProfileMenuWidget* profileMenuWidget = nullptr;
63  };
64 } // namespace armarx::skills::gui
65 
66 #endif // SKILLDETAILGROUPBOX_H
armarx::skills::gui::SkillDetailGroupBox::updateGui
void updateGui()
Notify widgets to update themselves.
SkillDetailsTreeWidget.h
armarx::skills::gui::SkillDetailGroupBox::connectGui
void connectGui(std::string observerName)
Definition: SkillDetailsGroupBox.cpp:68
armarx::skills::gui::SkillDetailGroupBox
Definition: SkillDetailsGroupBox.h:18
armarx::skills::gui::SkillDescriptionWidget
Definition: SkillDescriptionWidget.h:13
SkillDescriptionWidget.h
armarx::skills::gui::SkillDetailGroupBox::disconnectGui
void disconnectGui()
armarx::skills::gui::SkillDetailGroupBox::GROUP_BOX_TITLE
static const constexpr char * GROUP_BOX_TITLE
Definition: SkillDetailsGroupBox.h:23
AronTreeWidgetController.h
armarx::skills::gui
Definition: PeriodicUpdateWidget.cpp:11
ProfileMenuWidget.h
armarx::skills::gui::SkillDetailsTreeWidget
Definition: SkillDetailsTreeWidget.h:12
armarx::skills::gui::SkillDetailGroupBox::updateSkillDetails
void updateSkillDetails(skills::SkillID &skillId)
Update subwidgets of an updated skill selection.
Definition: SkillDetailsGroupBox.cpp:6
armarx::skills::gui::SkillDetailGroupBox::SkillDetailGroupBox
SkillDetailGroupBox(std::shared_ptr< SkillManagerWrapper > _memory, QWidget *parent=nullptr)
Definition: SkillDetailsGroupBox.h:25
armarx::skills::SkillID
Definition: SkillID.h:17
armarx::skills::gui::ProfileMenuWidget
Definition: ProfileMenuWidget.h:12
armarx::skills::gui::MemoryCommunicatorBase
Definition: MemoryCommunicatorBase.h:14
armarx::skills::gui::SkillDetailGroupBox::EXECUTE_SKILL_BUTTON_TEXT
static const constexpr char * EXECUTE_SKILL_BUTTON_TEXT
Definition: SkillDetailsGroupBox.h:22