From 1846fc24b4168a06d93036d6d269d775c81361de Mon Sep 17 00:00:00 2001 From: jmaustpc Date: Thu, 14 Mar 2013 02:01:12 +1100 Subject: [PATCH] Enable Part_Mirror child item in tree Part_Mirror now shows its child shape in the tree under the newly created Mirror Feature. On deletion it's child shape is set to show (if it had been hidden). Thus making its behaviour and appearance consistant with other Part tools, E.G. Part Fillet, Part Loft, etc. --- src/Mod/Part/Gui/ViewProviderMirror.cpp | 18 ++++++++++++++++++ src/Mod/Part/Gui/ViewProviderMirror.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/src/Mod/Part/Gui/ViewProviderMirror.cpp b/src/Mod/Part/Gui/ViewProviderMirror.cpp index 8158ddf3cd..5296fa8a38 100644 --- a/src/Mod/Part/Gui/ViewProviderMirror.cpp +++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp @@ -169,6 +169,24 @@ void ViewProviderMirror::unsetEdit(int ModNum) } } +std::vector ViewProviderMirror::claimChildren() const +{ + std::vector temp; + temp.push_back(static_cast(getObject())->Source.getValue()); + return temp; +} + +bool ViewProviderMirror::onDelete(const std::vector &) +{ + // get the input shape + Part::Mirroring* pMirroring = static_cast(getObject()); + App::DocumentObject *pSource = pMirroring->Source.getValue(); + if (pSource) + Gui::Application::Instance->showViewProvider(pSource); + + return true; +} + void ViewProviderMirror::dragStartCallback(void *data, SoDragger *) { // This is called when a manipulator is about to manipulating diff --git a/src/Mod/Part/Gui/ViewProviderMirror.h b/src/Mod/Part/Gui/ViewProviderMirror.h index c747d74b69..ab0ec4c2d5 100644 --- a/src/Mod/Part/Gui/ViewProviderMirror.h +++ b/src/Mod/Part/Gui/ViewProviderMirror.h @@ -39,6 +39,9 @@ public: /** @name Edit methods */ //@{ void setupContextMenu(QMenu*, QObject*, const char*); + std::vector claimChildren() const; + bool onDelete(const std::vector &); + protected: bool setEdit(int ModNum); void unsetEdit(int ModNum);