From bc9936b94bd71e7a3787d0fa9261c227e77ab9fd Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Mon, 15 Sep 2025 11:20:11 +0200 Subject: [PATCH] PartDesign: Enable child reorder Enable dragging a sketch within a body. --- src/Mod/PartDesign/Gui/ViewProviderBody.cpp | 4 ++++ src/Mod/PartDesign/Gui/ViewProviderBody.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp index f484dab3ce..5acb902665 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.cpp @@ -392,6 +392,9 @@ bool ViewProviderBody::canDropObject(App::DocumentObject* obj) const else if (obj->isDerivedFrom()) { return !obj->isDerivedFrom(); } + else if (obj->isDerivedFrom()) { + return true; + } else if (!obj->isDerivedFrom()) { return false; } @@ -463,3 +466,4 @@ bool ViewProviderBody::canDragObjectToTarget(App::DocumentObject* obj, return ViewProviderPart::canDragObjectToTarget(obj, target); } + diff --git a/src/Mod/PartDesign/Gui/ViewProviderBody.h b/src/Mod/PartDesign/Gui/ViewProviderBody.h index 4b60dbc2b8..93f8fd1f55 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderBody.h +++ b/src/Mod/PartDesign/Gui/ViewProviderBody.h @@ -89,6 +89,8 @@ public: /** Add an object to the view provider by drag and drop */ void dropObject(App::DocumentObject*) override; bool canDragObjectToTarget(App::DocumentObject* obj, App::DocumentObject* target) const override; + /* Check whether the object accept reordering of its children during drop.*/ + bool acceptReorderingObjects() const override { return true; }; protected: /// Copy over all visual properties to the child features @@ -106,3 +108,4 @@ private: #endif // PARTGUI_ViewProviderHole_H +