From 1787a4f978bbb1ffe40fc0baf46b1aa75d97dc01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Tr=C3=B6ger?= Date: Sat, 3 Dec 2016 09:54:13 +0100 Subject: [PATCH] Extensions: Group fix for python --- src/App/GroupExtension.h | 2 +- src/Gui/ViewProvider.cpp | 5 ++++- src/Gui/ViewProviderGroupExtension.cpp | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/App/GroupExtension.h b/src/App/GroupExtension.h index 7e24846a57..01fe0fa79f 100644 --- a/src/App/GroupExtension.h +++ b/src/App/GroupExtension.h @@ -117,7 +117,7 @@ public: EXTENSION_PROXY_ONEARG(allowObject, pyobj); if(result.isNone()) - ExtensionT::allowObject(obj); + return ExtensionT::allowObject(obj); if(result.isBoolean()) return result.isTrue(); diff --git a/src/Gui/ViewProvider.cpp b/src/Gui/ViewProvider.cpp index 3a1224f508..5d1cbe2b60 100644 --- a/src/Gui/ViewProvider.cpp +++ b/src/Gui/ViewProvider.cpp @@ -580,9 +580,12 @@ void ViewProvider::dragObject(App::DocumentObject* obj) { bool ViewProvider::canDropObject(App::DocumentObject* obj) const { auto vector = getExtensionsDerivedFromType(); - for(Gui::ViewProviderExtension* ext : vector) + Base::Console().Message("Check extensions for drop\n"); + for(Gui::ViewProviderExtension* ext : vector){ + Base::Console().Message("Check extensions %s\n", ext->name()); if(ext->extensionCanDropObject(obj)) return true; + } return false; } diff --git a/src/Gui/ViewProviderGroupExtension.cpp b/src/Gui/ViewProviderGroupExtension.cpp index db1ead3de0..03050117b5 100644 --- a/src/Gui/ViewProviderGroupExtension.cpp +++ b/src/Gui/ViewProviderGroupExtension.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include using namespace Gui; @@ -76,6 +77,8 @@ bool ViewProviderGroupExtension::extensionCanDropObjects() const { bool ViewProviderGroupExtension::extensionCanDropObject(App::DocumentObject* obj) const { + Base::Console().Message("Check ViewProviderGroupExtension"); + auto* group = getExtendedViewProvider()->getObject()->getExtensionByType(); //we cannot drop thing of this group into it again