inline std::string documentStatus(LibreOfficeKitDocument *loKitDocument) { assert(loKitDocument && "null loKitDocument"); const auto type = static_cast<LibreOfficeKitDocumentType>(loKitDocument->pClass->getDocumentType(loKitDocument)); const auto parts = loKitDocument->pClass->getParts(loKitDocument); std::ostringstream oss; oss << "type=" << documentTypeToString(type) << " parts=" << parts << " current=" << loKitDocument->pClass->getPart(loKitDocument); long width, height; loKitDocument->pClass->getDocumentSize(loKitDocument, &width, &height); oss << " width=" << width << " height=" << height; if (type == LOK_DOCTYPE_SPREADSHEET || type == LOK_DOCTYPE_PRESENTATION) { for (auto i = 0; i < parts; ++i) { oss << "\n"; if (type == LOK_DOCTYPE_PRESENTATION) { oss << loKitDocument->pClass->getPartHash(loKitDocument, i); } else { oss << loKitDocument->pClass->getPartName(loKitDocument, i); } } } return oss.str(); }
inline std::string getDocumentTypeAsString(LibreOfficeKitDocument *loKitDocument) { assert(loKitDocument && "null loKitDocument"); const auto type = static_cast<LibreOfficeKitDocumentType>(loKitDocument->pClass->getDocumentType(loKitDocument)); return documentTypeToString(type); }
inline std::string documentStatus(LibreOfficeKitDocument *loKitDocument) { std::string typeString(documentTypeToString(static_cast<LibreOfficeKitDocumentType>(loKitDocument->pClass->getDocumentType(loKitDocument)))); long width, height, parts; loKitDocument->pClass->getDocumentSize(loKitDocument, &width, &height); parts = loKitDocument->pClass->getParts(loKitDocument); std::string status = ("type=" + typeString + " " "parts=" + std::to_string(parts) + " " "current=" + std::to_string(loKitDocument->pClass->getPart(loKitDocument)) + " " "width=" + std::to_string(width) + " " "height=" + std::to_string(height)); if (typeString == "spreadsheet" || typeString == "presentation") { for (int i = 0; i < parts; i++) { status += "\n"; status += loKitDocument->pClass->getPartName(loKitDocument, i); } } return status; }