void ViewProviderGroupExtension::extensionHide(void) { // when reading the Visibility property from file then do not hide the // objects of this group because they have stored their visibility status, too if (!getExtendedViewProvider()->isRestoring() && this->visible) { auto* group = getExtendedViewProvider()->getObject()->getExtensionByType<App::GroupExtension>(); const std::vector<App::DocumentObject*> & links = group->Group.getValues(); Gui::Document* doc = Application::Instance->getDocument(getExtendedViewProvider()->getObject()->getDocument()); for (std::vector<App::DocumentObject*>::const_iterator it = links.begin(); it != links.end(); ++it) { ViewProvider* view = doc->getViewProvider(*it); if (view) view->hide(); } } ViewProviderExtension::extensionHide(); this->visible = false; }
void ViewProviderDocumentObjectGroup::hide(void) { // when reading the Visibility property from file then do not hide the // objects of this group because they have stored their visibility status, too if (!Visibility.testStatus(App::Property::User1) && this->visible) { App::DocumentObject * group = getObject(); if (group && group->getTypeId().isDerivedFrom(App::DocumentObjectGroup::getClassTypeId())) { const std::vector<App::DocumentObject*> & links = static_cast<App::DocumentObjectGroup*> (group)->Group.getValues(); Gui::Document* doc = Application::Instance->getDocument(group->getDocument()); for (std::vector<App::DocumentObject*>::const_iterator it = links.begin(); it != links.end(); ++it) { ViewProvider* view = doc->getViewProvider(*it); if (view) view->hide(); } } } ViewProviderDocumentObject::hide(); this->visible = false; }