From 595f77050e200ac3293c9ffc996e2fde0c827157 Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 4 Jan 2018 00:11:28 +0100 Subject: [PATCH] allow to move PD objects via drag and drop to a body --- src/Mod/PartDesign/Gui/ViewProviderBody.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp index b5e560fe26..56cb0525ed 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp @@ -458,6 +458,17 @@ void ViewProviderBody::dropObject(App::DocumentObject* obj) if (obj->getTypeId().isDerivedFrom(Part::Part2DObject::getClassTypeId())) { body->addObject(obj); } + else if (PartDesignGui::isFeatureMovable(obj)) { + std::vector move; + move.push_back(obj); + std::vector deps = PartDesignGui::collectMovableDependencies(move); + move.insert(std::end(move), std::begin(deps), std::end(deps)); + + PartDesign::Body* source = PartDesign::Body::findBodyOf(obj); + if (source) + source->removeObjects(move); + body->addObjects(move); + } else { body->BaseFeature.setValue(obj); }