diff --git a/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp b/source/ArmarXGui/libraries/WidgetDescription/WidgetDescription.cpp index 52b48b28c97db0151b25b6d8f402fce153618b6f..699ec0e730a54a3d4032f02955f804d9c392fd1a 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 8fe82d93519e093add4e609882ede96f9a15c04c..4f2abe866df4b21fe0d8f2095b975684b0ec9536 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;