diff --git a/src/Gui/ViewProvider.cpp b/src/Gui/ViewProvider.cpp index 2f0e67617..3a1224f50 100644 --- a/src/Gui/ViewProvider.cpp +++ b/src/Gui/ViewProvider.cpp @@ -656,3 +656,27 @@ SoSeparator* ViewProvider::getFrontRoot(void) const { } return nullptr; } + +std::vector< App::DocumentObject* > ViewProvider::claimChildren(void) const { + + std::vector< App::DocumentObject* > vec; + auto vector = getExtensionsDerivedFromType(); + for(Gui::ViewProviderExtension* ext : vector) { + std::vector< App::DocumentObject* > nvec = ext->extensionClaimChildren(); + if(!nvec.empty()) + vec.insert(std::end(vec), std::begin(nvec), std::end(nvec)); + } + return vec; +} + +std::vector< App::DocumentObject* > ViewProvider::claimChildren3D(void) const { + + std::vector< App::DocumentObject* > vec; + auto vector = getExtensionsDerivedFromType(); + for(Gui::ViewProviderExtension* ext : vector) { + std::vector< App::DocumentObject* > nvec = ext->extensionClaimChildren3D(); + if(!nvec.empty()) + vec.insert(std::end(vec), std::begin(nvec), std::end(nvec)); + } + return vec; +} diff --git a/src/Gui/ViewProvider.h b/src/Gui/ViewProvider.h index 860657bef..0f02ce1d6 100644 --- a/src/Gui/ViewProvider.h +++ b/src/Gui/ViewProvider.h @@ -139,10 +139,7 @@ public: * @param subNames list of selected subelements * @return true if the deletion is approoved by the view provider. */ - virtual bool onDelete(const std::vector &subNames) { - (void)subNames; - return true; - } + virtual bool onDelete(const std::vector &subNames); //@} diff --git a/src/Gui/ViewProviderDocumentObjectGroup.cpp b/src/Gui/ViewProviderDocumentObjectGroup.cpp index 32a372d82..6b450b060 100644 --- a/src/Gui/ViewProviderDocumentObjectGroup.cpp +++ b/src/Gui/ViewProviderDocumentObjectGroup.cpp @@ -65,8 +65,6 @@ ViewProviderDocumentObjectGroup::~ViewProviderDocumentObjectGroup() { } -#else - Q_UNUSED(prop); std::vector ViewProviderDocumentObjectGroup::getDisplayModes(void) const { // empty