bool Command::isActiveObjectValid(void) { Gui::Document* active = Gui::Application::Instance->activeDocument(); assert(active); App::Document* document = active->getDocument(); App::DocumentObject* object = document->getActiveObject(); assert(object); return object->isValid(); }
void Document::slotFinishRestoreDocument(const App::Document& doc) { if (d->_pcDocument != &doc) return; d->connectActObject.unblock(); App::DocumentObject* act = doc.getActiveObject(); if (act) { ViewProvider* viewProvider = getViewProvider(act); if (viewProvider && viewProvider->isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) { signalActivatedObject(*(static_cast<ViewProviderDocumentObject*>(viewProvider))); } } // some post-processing of view providers std::map<const App::DocumentObject*,ViewProviderDocumentObject*>::iterator it; for (it = d->_ViewProviderMap.begin(); it != d->_ViewProviderMap.end(); ++it) { it->second->finishRestoring(); } // reset modified flag setModified(false); }