From 29e0461e015a6c94b5fcb1f7259995bac4ba3013 Mon Sep 17 00:00:00 2001 From: Raphael Grimm <raphael.grimm@student.kit.edu> Date: Sat, 12 Aug 2017 16:53:40 +0200 Subject: [PATCH] Change DescribedWidgetLayoutBase::addChild to return the widget and use it in derived classes --- .../WidgetDescription/WidgetDescription.cpp | 12 +++++------- .../libraries/WidgetDescription/WidgetDescription.h | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp b/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp index 52b48b28..699ec0e7 100644 --- a/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp +++ b/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp @@ -70,8 +70,7 @@ namespace armarx layout()->setContentsMargins(0, 0, 0, 0); for (const WidgetPtr& childPtr : ptr->widgets) { - addChild(childPtr); - layout()->addWidget(children.back()); + layout()->addWidget(addChild(childPtr)); } } @@ -90,8 +89,7 @@ namespace armarx layout()->setContentsMargins(0, 0, 0, 0); for (const WidgetPtr& childPtr : ptr->widgets) { - addChild(childPtr); - layout()->addWidget(children.back()); + layout()->addWidget(addChild(childPtr)); } } }; @@ -110,8 +108,7 @@ namespace armarx layout()->setContentsMargins(0, 0, 0, 0); for (const LabeledWidgetPtr& labeledWidget : ptr->widgets) { - addChild(labeledWidget->w); - l->addRow(QString::fromStdString(labeledWidget->label), children.back()); + l->addRow(QString::fromStdString(child->label), addChild(child->child)); } } }; @@ -586,7 +583,7 @@ namespace armarx return result; } - void DescribedWidgetLayoutBase::addChild(const WidgetPtr& childPtr) + DescribedWidgetBase* DescribedWidgetLayoutBase::addChild(const WidgetPtr& childPtr) { ARMARX_CHECK_EXPRESSION(listener); DescribedWidgetBase* c = makeDescribedWidget(childPtr, listener); @@ -595,6 +592,7 @@ namespace armarx this, SIGNAL(variantWidgetUpdatedSignal(std::string, VariantWidgetContent::VariantWidgetContentBasePtr)), c , SLOT(variantWidgetUpdatedSlot(std::string, VariantWidgetContent::VariantWidgetContentBasePtr)) ); + return c; } DescribedWidgetBase* makeDescribedWidget(const WidgetPtr& p, ValueChangedListenerInterface* listener) diff --git a/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.h b/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.h index 8fe82d93..4f2abe86 100644 --- a/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.h +++ b/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.h @@ -84,7 +84,7 @@ namespace armarx { emit variantWidgetUpdatedSignal(name, data); } - virtual void addChild(const WidgetPtr& childPtr); + virtual DescribedWidgetBase* addChild(const WidgetPtr& childPtr); protected: std::vector<DescribedWidgetBase*> children; -- GitLab