예제 #1
0
    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();
    }
예제 #2
0
 inline
 std::string getDocumentTypeAsString(LibreOfficeKitDocument *loKitDocument)
 {
     assert(loKitDocument && "null loKitDocument");
     const auto type = static_cast<LibreOfficeKitDocumentType>(loKitDocument->pClass->getDocumentType(loKitDocument));
     return documentTypeToString(type);
 }
예제 #3
0
 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;
 }