SkillGroupBox.h
Go to the documentation of this file.
1 #ifndef SKILLGROUPBOX_H
2 #define SKILLGROUPBOX_H
3 
4 #include <QGroupBox>
5 #include <QLineEdit>
6 #include <QPushButton>
7 
8 #include "../memory/MemoryCommunicatorBase.h"
9 #include "SkillTreeWidget.h"
10 
11 namespace armarx::skills::gui
12 {
13  class SkillGroupBox : public QGroupBox, public MemoryCommunicatorBase
14  {
15  Q_OBJECT
16  public:
17  static const constexpr char* GROUP_BOX_TITLE = "Skills";
18 
19  SkillGroupBox(std::shared_ptr<SkillManagerWrapper> _memory, QWidget* parent = nullptr) :
20  QGroupBox(parent), MemoryCommunicatorBase(_memory)
21  {
22  setupUi();
23  }
24 
25  signals:
26  /**
27  * @brief Output signal to controller.
28  */
29  void searchRequest(std::string search);
30 
31  /**
32  * @brief Notify the skill description widget of an updated selection.
33  * @param skillId
34  */
35  void updateSkillDetails(skills::SkillID& skillId);
36 
37  void disconnectGui();
38 
39  /**
40  * @brief Notify widgets to update themselves
41  */
42  void updateGui();
43 
44  public slots:
45  void connectGui(std::string observerName);
46 
47  private slots:
48  /**
49  * Takes string from line edit and emits the search request.
50  */
51  void handleSearch();
52 
53  private:
54  void setupUi();
55  void connectSignals();
56  QLineEdit* searchBar = nullptr;
57  QPushButton* acceptSearchButton = nullptr;
58  SkillTreeWidget* skillTreeWidget = nullptr;
59  };
60 } // namespace armarx::skills::gui
61 
62 #endif // SKILLGROUPBOX_H
armarx::skills::gui::SkillGroupBox::connectGui
void connectGui(std::string observerName)
Definition: SkillGroupBox.cpp:16
armarx::skills::gui::SkillGroupBox::updateSkillDetails
void updateSkillDetails(skills::SkillID &skillId)
Notify the skill description widget of an updated selection.
armarx::skills::gui::SkillGroupBox::disconnectGui
void disconnectGui()
armarx::skills::gui::SkillGroupBox::updateGui
void updateGui()
Notify widgets to update themselves.
armarx::skills::gui::SkillTreeWidget
Definition: SkillTreeWidget.h:13
armarx::skills::gui::SkillGroupBox
Definition: SkillGroupBox.h:13
armarx::skills::gui::SkillGroupBox::searchRequest
void searchRequest(std::string search)
Output signal to controller.
armarx::skills::gui
Definition: PeriodicUpdateWidget.cpp:11
armarx::skills::gui::SkillGroupBox::SkillGroupBox
SkillGroupBox(std::shared_ptr< SkillManagerWrapper > _memory, QWidget *parent=nullptr)
Definition: SkillGroupBox.h:19
armarx::skills::gui::SkillGroupBox::GROUP_BOX_TITLE
static const constexpr char * GROUP_BOX_TITLE
Definition: SkillGroupBox.h:17
SkillTreeWidget.h
armarx::skills::SkillID
Definition: SkillID.h:17
armarx::skills::gui::MemoryCommunicatorBase
Definition: MemoryCommunicatorBase.h:14