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 <QSplitter>
7 #include <QVBoxLayout>
8 
12 
13 #include "../aron_tree_widget/widgets/SkillDescriptionWidget.h"
14 #include "../memory/MemoryCommunicatorBase.h"
15 #include "ProfileMenuWidget.h"
16 #include "SkillDetailsTreeWidget.h"
17 
18 namespace armarx::skills::gui
19 {
20  class SkillDetailGroupBox : public QGroupBox, public MemoryCommunicatorBase
21  {
22  Q_OBJECT
23  public:
24  static const constexpr char* EXECUTE_SKILL_BUTTON_TEXT = " Request Execution";
25  static const constexpr char* GROUP_BOX_TITLE = "Skill Description";
26 
27  SkillDetailGroupBox(std::shared_ptr<SkillManagerWrapper> _memory,
28  QWidget* parent = nullptr) :
29  QGroupBox(parent), MemoryCommunicatorBase(_memory)
30  {
31  setupUi();
32  }
33 
34  signals:
35  void disconnectGui();
36 
38  void executed(const skills::SkillID skillId);
39 
40  public slots:
41  /**
42  * @brief Notify 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  QSplitter* splitter = nullptr;
59  QPushButton* executeSkillButton = nullptr;
60  SkillDetailsTreeWidget* skillDetailsTreeWidget = nullptr;
61  SkillDescriptionWidget* skillDescriptionWidget = nullptr;
62 
63  ProfileMenuWidget* profileMenuWidget = nullptr;
64  };
65 } // namespace armarx::skills::gui
66 
67 #endif // SKILLDETAILGROUPBOX_H
SkillDetailsTreeWidget.h
SkillID.h
armarx::skills::gui::SkillDetailGroupBox::connectGui
void connectGui(std::string observerName)
Definition: SkillDetailsGroupBox.cpp:71
armarx::skills::gui::SkillDetailGroupBox
Definition: SkillDetailsGroupBox.h:20
armarx::skills::gui::SkillDescriptionWidget
Definition: SkillDescriptionWidget.h:13
armarx::skills::gui::SkillManagerWrapper::Snapshot
Definition: SkillManagerWrapper.h:82
armarx::skills::gui::SkillDetailGroupBox::executed
void executed(const skills::SkillID skillId)
SkillDescriptionWidget.h
armarx::skills::gui::SkillDetailGroupBox::disconnectGui
void disconnectGui()
armarx::skills::gui::SkillDetailGroupBox::updateGui
void updateGui(SkillManagerWrapper::Snapshot update)
armarx::skills::gui::SkillDetailGroupBox::GROUP_BOX_TITLE
static const constexpr char * GROUP_BOX_TITLE
Definition: SkillDetailsGroupBox.h:25
AronTreeWidgetController.h
armarx::skills::gui
Definition: PeriodicUpdateWidget.cpp:11
ProfileMenuWidget.h
armarx::armem::server::ltm::util::mongodb::detail::update
bool update(mongocxx::collection &coll, const nlohmann::json &query, const nlohmann::json &update)
Definition: mongodb.cpp:68
armarx::skills::gui::SkillDetailsTreeWidget
Definition: SkillDetailsTreeWidget.h:15
armarx::skills::gui::SkillDetailGroupBox::updateSkillDetails
void updateSkillDetails(skills::SkillID &skillId)
Notify subwidgets of an updated skill selection.
Definition: SkillDetailsGroupBox.cpp:9
armarx::skills::gui::SkillDetailGroupBox::SkillDetailGroupBox
SkillDetailGroupBox(std::shared_ptr< SkillManagerWrapper > _memory, QWidget *parent=nullptr)
Definition: SkillDetailsGroupBox.h:27
armarx::skills::SkillID
Definition: SkillID.h:14
armarx::skills::gui::ProfileMenuWidget
Definition: ProfileMenuWidget.h:13
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:24