| 174 | } |
| 175 | |
| 176 | void GroupExtension::removeObjectFromDocument(DocumentObject* obj) |
| 177 | { |
| 178 | // check that object is not invalid |
| 179 | if (!obj || !obj->isAttachedToDocument()) { |
| 180 | return; |
| 181 | } |
| 182 | |
| 183 | // remove all children |
| 184 | if (obj->hasExtension(GroupExtension::getExtensionClassTypeId())) { |
| 185 | GroupExtension* grp = static_cast<GroupExtension*>( |
| 186 | obj->getExtension(GroupExtension::getExtensionClassTypeId())); |
| 187 | |
| 188 | // recursive call to remove all subgroups |
| 189 | grp->removeObjectsFromDocument(); |
| 190 | } |
| 191 | |
| 192 | getExtendedObject()->getDocument()->removeObject(obj->getNameInDocument()); |
| 193 | } |
| 194 | |
| 195 | DocumentObject* GroupExtension::getObject(const char* Name) const |
| 196 | { |
nothing calls this directly
no test coverage detected