-
Peter Albrecht authoredPeter Albrecht authored
SkillDetailsGroupBox.h 1.88 KiB
#ifndef SKILLDETAILGROUPBOX_H
#define SKILLDETAILGROUPBOX_H
#include <QGroupBox>
#include <QPushButton>
#include <QSplitter>
#include <QVBoxLayout>
#include "RobotAPI/libraries/skills_gui/aron_tree_widget/AronTreeWidgetController.h"
#include "RobotAPI/libraries/skills_gui/aron_tree_widget/widgets/SkillDescriptionWidget.h"
#include "../aron_tree_widget/widgets/SkillDescriptionWidget.h"
#include "../memory/MemoryCommunicatorBase.h"
#include "ProfileMenuWidget.h"
#include "SkillDetailsTreeWidget.h"
namespace armarx::skills::gui
{
class SkillDetailGroupBox : public QGroupBox, public MemoryCommunicatorBase
{
Q_OBJECT
public:
static const constexpr char* EXECUTE_SKILL_BUTTON_TEXT = " Request Execution";
static const constexpr char* GROUP_BOX_TITLE = "Skill Description";
SkillDetailGroupBox(std::shared_ptr<SkillManagerWrapper> _memory,
QWidget* parent = nullptr) :
QGroupBox(parent), MemoryCommunicatorBase(_memory)
{
setupUi();
}
signals:
void disconnectGui();
public slots:
/**
* @brief Notify subwidgets of an updated skill selection.
* @param skillId
*/
void updateSkillDetails(skills::SkillID& skillId);
void connectGui(std::string observerName);
private slots:
void handleExecutionRequest();
void resizeEvent(QResizeEvent* event) override;
private:
void setupUi();
void connectSignals();
QVBoxLayout* layout = nullptr;
QSplitter* splitter = nullptr;
QPushButton* executeSkillButton = nullptr;
SkillDetailsTreeWidget* skillDetailsTreeWidget = nullptr;
SkillDescriptionWidget* skillDescriptionWidget = nullptr;
ProfileMenuWidget* profileMenuWidget = nullptr;
};
} // namespace armarx::skills::gui
#endif // SKILLDETAILGROUPBOX_H