From 2585598c55974cf3c2c2ab42d8004fb8d1e44047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Fri, 15 Jan 2016 19:24:57 +0100 Subject: [PATCH] prevent parts from being dragged into parts --- src/Gui/ViewProviderPart.cpp | 10 ++++++++++ src/Gui/ViewProviderPart.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/Gui/ViewProviderPart.cpp b/src/Gui/ViewProviderPart.cpp index 5ffb8ba81..7ca34d7a0 100644 --- a/src/Gui/ViewProviderPart.cpp +++ b/src/Gui/ViewProviderPart.cpp @@ -72,6 +72,16 @@ bool ViewProviderPart::doubleClicked(void) return true; } +bool ViewProviderPart::canDropObject(App::DocumentObject* obj) const { + + //it is not allowed to have any part or assembly object within a part, hence we exclude origin groups + if(obj->isDerivedFrom(App::OriginGroup::getClassTypeId())) + return false; + + return Gui::ViewProvider::canDropObject(obj); +} + + /** * Returns the pixmap for the list item. */ diff --git a/src/Gui/ViewProviderPart.h b/src/Gui/ViewProviderPart.h index d9c4020ad..53bf882e7 100644 --- a/src/Gui/ViewProviderPart.h +++ b/src/Gui/ViewProviderPart.h @@ -44,6 +44,7 @@ public: QIcon getIcon(void) const; virtual bool doubleClicked(void); + virtual bool canDropObject(App::DocumentObject*) const; protected: /// get called by the container whenever a property has been changed virtual void onChanged(const App::Property* prop);