| 1433 | } |
| 1434 | |
| 1435 | void Document::writeObjectType(const std::vector<DocumentObject*>& objs, |
| 1436 | Base::Writer& writer) const |
| 1437 | { |
| 1438 | for (auto it : objs) { |
| 1439 | writer.Stream() << writer.ind() << "<Object " |
| 1440 | << "type=\"" << it->getTypeId().getName() << "\" " |
| 1441 | << "name=\"" << it->getExportName() << "\" " |
| 1442 | << "id=\"" << it->getID() << "\" "; |
| 1443 | |
| 1444 | // Only write out custom view provider types |
| 1445 | std::string viewType = it->getViewProviderNameStored(); |
| 1446 | if (viewType != it->getViewProviderName()) { |
| 1447 | writer.Stream() << "ViewType=\"" << viewType << "\" "; |
| 1448 | } |
| 1449 | |
| 1450 | // See DocumentObjectPy::getState |
| 1451 | if (it->testStatus(ObjectStatus::Touch)) { |
| 1452 | writer.Stream() << "Touched=\"1\" "; |
| 1453 | } |
| 1454 | if (it->testStatus(ObjectStatus::Error)) { |
| 1455 | writer.Stream() << "Invalid=\"1\" "; |
| 1456 | auto desc = getErrorDescription(it); |
| 1457 | if (desc) { |
| 1458 | writer.Stream() << "Error=\"" << Property::encodeAttribute(desc) << "\" "; |
| 1459 | } |
| 1460 | } |
| 1461 | if (it->isFreezed()) { |
| 1462 | writer.Stream() << "Freeze=\"1\" "; |
| 1463 | } |
| 1464 | writer.Stream() << "/>\n"; |
| 1465 | } |
| 1466 | } |
| 1467 | |
| 1468 | void Document::writeObjectData(const std::vector<DocumentObject*>& objs, |
| 1469 | Base::Writer& writer) const |
nothing calls this directly
no test coverage detected