SkillMemoryGui.h
Go to the documentation of this file.
1 #ifndef SKILLMEMORYGUI_H
2 #define SKILLMEMORYGUI_H
3 
4 #include <QHBoxLayout>
5 #include <QLabel>
6 #include <QSplitter>
7 #include <QTreeWidget>
8 #include <QWidget>
9 
11 
13 
15 
20 #include "./skills/SkillGroupBox.h"
21 
22 namespace armarx::skills::gui
23 {
24  class SkillMemoryGUI : public QObject, public armarx::Logging
25  {
26  Q_OBJECT
27 
28  public:
29  static const constexpr char* STOP_ALL_BUTTON_TEXT = "Stop all executions";
30  SkillMemoryGUI(QTreeWidget* _skillExecutionTreeWidget,
31  QLayout* _skillExecutionTreeWidgetParentLayout,
32  QGroupBox* _skillGroupBox,
33  QSplitter* _skillGroupBoxParentLayout,
34  QGroupBox* _skillDetailGroupBox,
35  QSplitter* _skillDetailGroupBoxParentLayout,
36  QHBoxLayout* _updateWidgetLayout,
37 
38  QLayout* stopAllLayout,
39 
40  QWidget* connectionStatusLabel,
41 
42  std::shared_ptr<SkillManagerWrapper> _memory);
43 
44  signals:
45  /**
46  * @brief Notify affected widgets to clear all saved state.
47  */
48  void disconnectGui();
49 
50  /**
51  * @brief Notify widgets of new connection.
52  * @param observerName the observer name.
53  */
54  void connectGui(std::string observerName);
55 
56  /**
57  * @brief Notify widgets to update themselves
58  */
59  void updateGui();
60 
61  private:
62  void setupUi();
63  void connectSignals();
64 
65  SkillExecutionTreeWidget* skillExecutionTreeWidget = nullptr;
66  SkillGroupBox* skillGroupBox = nullptr;
67  SkillDetailGroupBox* skillDetailGroupBox = nullptr;
68  QBoxLayout* updateWidgetLayout = nullptr;
69 
70  std::shared_ptr<SkillManagerWrapper> memory = nullptr;
71 
72  PeriodicUpdateWidget* updateWidget = nullptr;
73 
74  QPushButton* stopAllButton = nullptr;
75 
76  StatusLabel* connectionStatusLabel = nullptr;
77  };
78 } // namespace armarx::skills::gui
79 
80 #endif // SKILLMEMORYGUI_H
armarx::skills::gui::SkillMemoryGUI::SkillMemoryGUI
SkillMemoryGUI(QTreeWidget *_skillExecutionTreeWidget, QLayout *_skillExecutionTreeWidgetParentLayout, QGroupBox *_skillGroupBox, QSplitter *_skillGroupBoxParentLayout, QGroupBox *_skillDetailGroupBox, QSplitter *_skillDetailGroupBoxParentLayout, QHBoxLayout *_updateWidgetLayout, QLayout *stopAllLayout, QWidget *connectionStatusLabel, std::shared_ptr< SkillManagerWrapper > _memory)
Definition: SkillMemoryGui.cpp:7
PeriodicUpdateWidget.h
StatusLabel.h
armarx::skills::gui::SkillMemoryGUI::STOP_ALL_BUTTON_TEXT
static const constexpr char * STOP_ALL_BUTTON_TEXT
Definition: SkillMemoryGui.h:29
armarx::skills::gui::SkillMemoryGUI::disconnectGui
void disconnectGui()
Notify affected widgets to clear all saved state.
armarx::skills::gui::SkillMemoryGUI::connectGui
void connectGui(std::string observerName)
Notify widgets of new connection.
armarx::skills::gui::SkillDetailGroupBox
Definition: SkillDetailsGroupBox.h:18
armarx::memory
Brief description of class memory.
Definition: memory.h:39
SkillManagerWrapper.h
SkillDescriptionWidget.h
armarx::skills::gui::PeriodicUpdateWidget
Definition: PeriodicUpdateWidget.h:14
armarx::skills::gui::SkillGroupBox
Definition: SkillGroupBox.h:13
SkillDetailsGroupBox.h
armarx::skills::gui
Definition: PeriodicUpdateWidget.cpp:11
armarx::skills::gui::StatusLabel
Definition: StatusLabel.h:8
armarx::skills::gui::SkillMemoryGUI
Definition: SkillMemoryGui.h:24
armarx::Logging
Base Class for all Logging classes.
Definition: Logging.h:232
SkillExecutionTreeWidget.h
armarx::skills::gui::SkillMemoryGUI::updateGui
void updateGui()
Notify widgets to update themselves.
SkillGroupBox.h
Logging.h
armarx::skills::gui::SkillExecutionTreeWidget
Definition: SkillExecutionTreeWidget.h:13