本文整理汇总了C++中KoXmlDocument::setContent方法的典型用法代码示例。如果您正苦于以下问题:C++ KoXmlDocument::setContent方法的具体用法?C++ KoXmlDocument::setContent怎么用?C++ KoXmlDocument::setContent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoXmlDocument
的用法示例。
在下文中一共展示了KoXmlDocument::setContent方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testExistingResourceRequest
void InsertProjectTester::testExistingResourceRequest()
{
Part pp(0);
MainDocument part( &pp );
pp.setDocument( &part );
addCalendar( part );
addResourceGroup( part );
addResource( part );
addTask( part );
addGroupRequest( part );
addResourceRequest( part );
QDomDocument doc = part.saveXML();
Project &p = part.getProject();
Part pp2(0);
MainDocument part2( &pp2 );
pp2.setDocument( &part2 );
part2.insertProject( p, 0, 0 );
Project &p2 = part2.getProject();
QVERIFY( p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) ) != 0 );
KoXmlDocument xdoc;
xdoc.setContent( doc.toString() );
part.loadXML( xdoc, 0 );
part2.insertProject( part.getProject(), 0, 0 );
QVERIFY( p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) ) != 0 );
QVERIFY( p2.childNode( 1 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) ) != 0 );
}
示例2: xmlDocument
KoXmlDocument CellTest::xmlDocument(const QString &content)
{
KoXmlDocument document;
QString xml = "<table:table-cell xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" xmlns:table=\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:number=\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\" >" + content + "</table:table-cell>";
bool ok = document.setContent(xml, true);
return ok ? document : KoXmlDocument();
}
示例3: dev
KoShape *SvgShapeFactory::createShapeFromOdf(const KoXmlElement &element, KoShapeLoadingContext &context)
{
const KoXmlElement & imageElement(KoXml::namedItemNS(element, KoXmlNS::draw, "image"));
if (imageElement.isNull()) {
kError(30006) << "svg image element not found";
return 0;
}
if (imageElement.tagName() == "image") {
kDebug(30006) << "trying to create shapes form svg image";
QString href = imageElement.attribute("href");
if (href.isEmpty())
return 0;
// check the mimetype
if (href.startsWith("./")) {
href.remove(0,2);
}
QString mimetype = context.odfLoadingContext().mimeTypeForPath(href);
kDebug(30006) << mimetype;
if (mimetype != "image/svg+xml")
return 0;
if (!context.odfLoadingContext().store()->open(href))
return 0;
KoStoreDevice dev(context.odfLoadingContext().store());
KoXmlDocument xmlDoc;
int line, col;
QString errormessage;
const bool parsed = xmlDoc.setContent(&dev, &errormessage, &line, &col);
context.odfLoadingContext().store()->close();
if (! parsed) {
kError(30006) << "Error while parsing file: "
<< "at line " << line << " column: " << col
<< " message: " << errormessage << endl;
return 0;
}
SvgParser parser(context.documentResourceManager());
QList<KoShape*> shapes = parser.parseSvg(xmlDoc.documentElement());
if (shapes.isEmpty())
return 0;
if (shapes.count() == 1)
return shapes.first();
KoShapeGroup *svgGroup = new KoShapeGroup;
KoShapeGroupCommand cmd(svgGroup, shapes);
cmd.redo();
return svgGroup;
}
return 0;
}
示例4: oldLoadAndParse
bool KraConverter::oldLoadAndParse(KoStore *store, const QString &filename, KoXmlDocument &xmldoc)
{
//dbgUI <<"Trying to open" << filename;
if (!store->open(filename)) {
warnUI << "Entry " << filename << " not found!";
m_doc->setErrorMessage(i18n("Could not find %1", filename));
return false;
}
// Error variables for QDomDocument::setContent
QString errorMsg;
int errorLine, errorColumn;
bool ok = xmldoc.setContent(store->device(), &errorMsg, &errorLine, &errorColumn);
store->close();
if (!ok) {
errUI << "Parsing error in " << filename << "! Aborting!" << endl
<< " In line: " << errorLine << ", column: " << errorColumn << endl
<< " Error message: " << errorMsg << endl;
m_doc->setErrorMessage(i18n("Parsing error in %1 at line %2, column %3\nError message: %4"
, filename , errorLine, errorColumn ,
QCoreApplication::translate("QXml", errorMsg.toUtf8(), 0,
QCoreApplication::UnicodeUTF8)));
return false;
}
dbgUI << "File" << filename << " loaded and parsed";
return true;
}
示例5: testOdfElement
void TestKoShapeFactory::testOdfElement()
{
KoShapeFactoryBase * factory = new KoPathShapeFactory(QStringList());
QVERIFY(factory->odfElements().front().second.contains("path"));
QVERIFY(factory->odfElements().front().second.contains("line"));
QVERIFY(factory->odfElements().front().second.contains("polyline"));
QVERIFY(factory->odfElements().front().second.contains("polygon"));
QVERIFY(factory->odfElements().front().first == KoXmlNS::draw);
QBuffer xmldevice;
xmldevice.open(QIODevice::WriteOnly);
QTextStream xmlstream(&xmldevice);
xmlstream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
xmlstream << "<office:document-content xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:config=\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" xmlns:table=\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" xmlns:presentation=\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\" xmlns:dr3d=\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\" xmlns:chart=\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\" xmlns:form=\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\" xmlns:script=\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:number=\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\" xmlns:math=\"http://www.w3.org/1998/Math/MathML\" xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:koffice=\"http://www.koffice.org/2005/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">";
xmlstream << "<office:body>";
xmlstream << "<office:text>";
xmlstream << "<text:p text:style-name=\"P1\"><?opendocument cursor-position?></text:p>";
xmlstream << "<draw:path svg:d=\"M10,10L100,100\"></draw:path>";
xmlstream << "</office:text>";
xmlstream << "</office:body>";
xmlstream << "</office:document-content>";
xmldevice.close();
KoXmlDocument doc;
QString errorMsg;
int errorLine = 0;
int errorColumn = 0;
QCOMPARE(doc.setContent(&xmldevice, true, &errorMsg, &errorLine, &errorColumn), true);
QCOMPARE(errorMsg.isEmpty(), true);
QCOMPARE(errorLine, 0);
QCOMPARE(errorColumn, 0);
KoXmlElement contentElement = doc.documentElement();
KoXmlElement bodyElement = contentElement.firstChild().toElement();
// XXX: When loading is implemented, these no doubt have to be
// sensibly filled.
KoOdfStylesReader stylesReader;
KoOdfLoadingContext odfContext(stylesReader, 0);
KoShapeLoadingContext shapeContext(odfContext, 0);
KoXmlElement textElement = bodyElement.firstChild().firstChild().toElement();
QVERIFY(textElement.tagName() == "p");
QCOMPARE(factory->supports(textElement, shapeContext), false);
KoXmlElement pathElement = bodyElement.firstChild().lastChild().toElement();
QVERIFY(pathElement.tagName() == "path");
QCOMPARE(factory->supports(pathElement, shapeContext), true);
KoShape *shape = factory->createDefaultShape();
QVERIFY(shape);
QVERIFY(shape->loadOdf(pathElement, shapeContext));
delete shape;
delete factory;
}
示例6: setContent
bool Context::setContent( const QString &str )
{
KoXmlDocument doc;
if ( doc.setContent( str ) ) {
return load( doc );
}
return false;
}
示例7: testExistingTeamResourceRequest
void InsertProjectTester::testExistingTeamResourceRequest()
{
Part pp(0);
MainDocument part( &pp );
pp.setDocument( &part );
addCalendar( part );
addResourceGroup( part );
Resource *r = addResource( part );
r->setName( "R1" );
r->setType( Resource::Type_Team );
ResourceGroup *tg = addResourceGroup( part );
tg->setName( "TG" );
Resource *t1 = addResource( part, tg );
t1->setName( "T1" );
r->addTeamMemberId( t1->id() );
Resource *t2 = addResource( part, tg );
t2->setName( "T2" );
r->addTeamMemberId( t2->id() );
addTask( part );
addGroupRequest( part );
addResourceRequest( part );
QDomDocument doc = part.saveXML();
Part pp2(0);
MainDocument part2( &pp2 );
pp2.setDocument( &part2 );
Project &p2 = part2.getProject();
part2.insertProject( part.getProject(), 0, 0 );
ResourceRequest *rr = p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QCOMPARE( rr->resource()->teamMembers().count(), 2 );
QCOMPARE( rr->resource()->teamMembers().at( 0 ), t1 );
QCOMPARE( rr->resource()->teamMembers().at( 1 ), t2 );
KoXmlDocument xdoc;
xdoc.setContent( doc.toString() );
part.loadXML( xdoc, 0 );
part2.insertProject( part.getProject(), 0, 0 );
QCOMPARE( p2.numChildren(), 2 );
QVERIFY( ! p2.childNode( 0 )->requests().isEmpty() );
rr = p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QCOMPARE( rr->resource()->teamMembers().count(), 2 );
QCOMPARE( rr->resource()->teamMembers().at( 0 ), t1 );
QCOMPARE( rr->resource()->teamMembers().at( 1 ), t2 );
QVERIFY( ! p2.childNode( 1 )->requests().isEmpty() );
rr = p2.childNode( 1 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QCOMPARE( rr->resource()->teamMembers().count(), 2 );
QCOMPARE( rr->resource()->teamMembers().at( 0 ), t1 );
QCOMPARE( rr->resource()->teamMembers().at( 1 ), t2 );
}
示例8: context
KoFilterEffectStack * FilterEffectResource::toFilterStack() const
{
KoFilterEffectStack * filterStack = new KoFilterEffectStack();
if (!filterStack)
return 0;
QByteArray data = m_data.toByteArray();
KoXmlDocument doc;
doc.setContent(data);
KoXmlElement e = doc.documentElement();
// only allow obect bounding box units
if (e.hasAttribute("filterUnits") && e.attribute("filterUnits") != "objectBoundingBox")
return 0;
if (e.attribute("primitiveUnits") != "objectBoundingBox")
return 0;
// parse filter region rectangle
QRectF filterRegion;
filterRegion.setX(fromPercentage(e.attribute("x", "-0.1")));
filterRegion.setY(fromPercentage(e.attribute("y", "-0.1")));
filterRegion.setWidth(fromPercentage(e.attribute("width", "1.2")));
filterRegion.setHeight(fromPercentage(e.attribute("height", "1.2")));
filterStack->setClipRect(filterRegion);
KoFilterEffectLoadingContext context(QString(""));
KoFilterEffectRegistry * registry = KoFilterEffectRegistry::instance();
// create the filter effects and add them to the shape
for (KoXmlNode n = e.firstChild(); !n.isNull(); n = n.nextSibling()) {
KoXmlElement primitive = n.toElement();
KoFilterEffect * filterEffect = registry->createFilterEffectFromXml(primitive, context);
if (!filterEffect) {
qWarning() << "filter effect" << primitive.tagName() << "is not implemented yet";
continue;
}
// parse subregion
qreal x = fromPercentage(primitive.attribute("x", "0"));
qreal y = fromPercentage(primitive.attribute("y", "0"));
qreal w = fromPercentage(primitive.attribute("width", "1"));
qreal h = fromPercentage(primitive.attribute("height", "1"));
QRectF subRegion(QPointF(x, y), QSizeF(w, h));
if (primitive.hasAttribute("in"))
filterEffect->setInput(0, primitive.attribute("in"));
if (primitive.hasAttribute("result"))
filterEffect->setOutput(primitive.attribute("result"));
filterEffect->setFilterRect(subRegion);
filterStack->appendFilterEffect(filterEffect);
}
return filterStack;
}
示例9: layout
static QRectF layout(BasicElement* element, const QString& input)
{
KoXmlDocument doc;
doc.setContent( input );
element->readMathML(doc.documentElement());
AttributeManager am;
element->layout( &am );
return element->boundingRect();
}
示例10: testExistingRequiredResourceRequest
void InsertProjectTester::testExistingRequiredResourceRequest()
{
Part pp(0);
MainDocument part( &pp );
pp.setDocument( &part );
addCalendar( part );
addResourceGroup( part );
Resource *r = addResource( part );
ResourceGroup *g = addResourceGroup( part );
g->setType( ResourceGroup::Type_Material );
QList<Resource*> m; m << addResource( part, g );
m.first()->setType( Resource::Type_Material );
r->setRequiredIds( QStringList() << m.first()->id() );
addTask( part );
addGroupRequest( part );
addResourceRequest( part );
QDomDocument doc = part.saveXML();
Project &p = part.getProject();
Part pp2(0);
MainDocument part2( &pp2 );
pp2.setDocument( &part2 );
part2.insertProject( p, 0, 0 );
Project &p2 = part2.getProject();
ResourceRequest *rr = p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QVERIFY( ! rr->requiredResources().isEmpty() );
QCOMPARE( rr->requiredResources().at( 0 ), m.first() );
KoXmlDocument xdoc;
xdoc.setContent( doc.toString() );
part.loadXML( xdoc, 0 );
part2.insertProject( part.getProject(), 0, 0 );
rr = p2.childNode( 0 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QVERIFY( ! rr->requiredResources().isEmpty() );
QCOMPARE( rr->requiredResources().at( 0 ), m.first() );
rr = p2.childNode( 1 )->requests().find( p2.resourceGroupAt( 0 )->resourceAt( 0 ) );
QVERIFY( rr );
QVERIFY( ! rr->requiredResources().isEmpty() );
QCOMPARE( rr->requiredResources().at( 0 ), m.first() );
}
示例11: testCreateFramedShapes
void TestKoShapeRegistry::testCreateFramedShapes()
{
QBuffer xmldevice;
xmldevice.open(QIODevice::WriteOnly);
QTextStream xmlstream(&xmldevice);
xmlstream << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
xmlstream << "<office:document-content xmlns:office=\"urn:oasis:names:tc:opendocument:xmlns:office:1.0\" xmlns:meta=\"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\" xmlns:config=\"urn:oasis:names:tc:opendocument:xmlns:config:1.0\" xmlns:text=\"urn:oasis:names:tc:opendocument:xmlns:text:1.0\" xmlns:table=\"urn:oasis:names:tc:opendocument:xmlns:table:1.0\" xmlns:draw=\"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\" xmlns:presentation=\"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\" xmlns:dr3d=\"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\" xmlns:chart=\"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\" xmlns:form=\"urn:oasis:names:tc:opendocument:xmlns:form:1.0\" xmlns:script=\"urn:oasis:names:tc:opendocument:xmlns:script:1.0\" xmlns:style=\"urn:oasis:names:tc:opendocument:xmlns:style:1.0\" xmlns:number=\"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\" xmlns:math=\"http://www.w3.org/1998/Math/MathML\" xmlns:svg=\"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\" xmlns:fo=\"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\" xmlns:calligra=\"http://www.calligra.org/2005/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">";
xmlstream << "<office:body>";
xmlstream << "<office:text>";
xmlstream << "<draw:path svg:d=\"M0,0L100,100\"></draw:path>";
xmlstream << "</office:text>";
xmlstream << "</office:body>";
xmlstream << "</office:document-content>";
xmldevice.close();
KoXmlDocument doc;
QString errorMsg;
int errorLine = 0;
int errorColumn = 0;
QCOMPARE(doc.setContent(&xmldevice, true, &errorMsg, &errorLine, &errorColumn), true);
QCOMPARE(errorMsg.isEmpty(), true);
QCOMPARE(errorLine, 0);
QCOMPARE(errorColumn, 0);
KoXmlElement contentElement = doc.documentElement();
KoXmlElement bodyElement = contentElement.firstChild().toElement();
KoShapeRegistry * registry = KoShapeRegistry::instance();
// XXX: When loading is implemented, these no doubt have to be
// sensibly filled.
KoOdfStylesReader stylesReader;
KoOdfLoadingContext odfContext(stylesReader, 0);
KoShapeLoadingContext shapeContext(odfContext, 0);
KoShape * shape = registry->createShapeFromOdf(bodyElement, shapeContext);
QVERIFY(shape == 0);
KoXmlElement pathElement = bodyElement.firstChild().firstChild().toElement();
shape = registry->createShapeFromOdf(pathElement, shapeContext);
QVERIFY(shape != 0);
QVERIFY(shape->shapeId() == KoPathShapeId);
}
示例12: loadNodeKeyframes
void KisKraLoadVisitor::loadNodeKeyframes(KisNode *node)
{
if (!m_keyframeFilenames.contains(node)) return;
node->enableAnimation();
const QString &location = getLocation(m_keyframeFilenames[node]);
if (!m_store->open(location)) {
m_errorMessages << i18n("Could not load keyframes from %1.", location);
return;
}
QString errorMsg;
int errorLine;
int errorColumn;
KoXmlDocument doc = KoXmlDocument(true);
bool ok = doc.setContent(m_store->device(), &errorMsg, &errorLine, &errorColumn);
m_store->close();
if (!ok) {
m_errorMessages << i18n("parsing error in the keyframe file %1 at line %2, column %3\nError message: %4", location, errorLine, errorColumn, i18n(errorMsg.toUtf8()));
return;
}
QDomDocument dom;
KoXml::asQDomElement(dom, doc.documentElement());
QDomElement root = dom.firstChildElement();
for (QDomElement child = root.firstChildElement(); !child.isNull(); child = child.nextSiblingElement()) {
if (child.nodeName().toUpper() == "CHANNEL") {
QString id = child.attribute("name");
KisKeyframeChannel *channel = node->getKeyframeChannel(id, true);
if (!channel) {
m_errorMessages << i18n("unknown keyframe channel type: %1 in %2", id, location);
continue;
}
channel->loadXML(child);
}
}
}
示例13: buildIndex
int ZefaniaLex::buildIndex()
{
QFile file(m_modulePath);
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QMessageBox::critical(0, QObject::tr("Error"), QObject::tr("Can not read the file"));
myWarning() << "can't read the file";
return 1;
}
KoXmlDocument xmlDoc;
QString error;
int l;
int c;
if(!xmlDoc.setContent(&file, &error, &l, &c)) {
QMessageBox::critical(0, QObject::tr("Error"), QObject::tr("The file is not valid. Errorstring: %1 in Line %2 at Position %3").arg(error).arg(l).arg(c));
myWarning() << "the file isn't valid";
return 1;
}
return buildIndexFromXmlDoc(&xmlDoc).name().isEmpty() ? 2 : 0;
}
示例14: buildIndexFromData
/**
Load a Zefania XML Lex file the first time. Generates an index for fast access.
*/
MetaInfo ZefaniaLex::buildIndexFromData(const QString &fileData, const QString &fileName)
{
DEBUG_FUNC_NAME
m_modulePath = fileName;
KoXmlDocument xmldoc;
QString errorMsg;
int eLine;
int eCol;
if(!xmldoc.setContent(fileData, &errorMsg, &eLine, &eCol)) {
QMessageBox::critical(0, QObject::tr("Error"), QObject::tr("The file is not valid"));
myWarning() << "the file isn't valid , error = " << errorMsg
<< " line = " << eLine
<< " column = " << eCol;
return MetaInfo();
}
return buildIndexFromXmlDoc(&xmldoc);
}
示例15: convert
KoFilter::ConversionStatus MpxjImport::convert(const QByteArray& from, const QByteArray& to)
{
kDebug(planMpxjDbg()) << from << to;
if ( to != "application/x-vnd.kde.plan" || ! mimeTypes().contains( from ) ) {
kDebug(planMpxjDbg())<<"Bad mime types:"<<from<<"->"<<to;
return KoFilter::BadMimeType;
}
bool batch = false;
if ( m_chain->manager() ) {
batch = m_chain->manager()->getBatchMode();
}
if (batch) {
//TODO
kDebug(planMpxjDbg()) << "batch mode not implemented";
return KoFilter::NotImplemented;
}
KoDocument *part = m_chain->outputDocument();
if ( ! part ) {
kDebug(planMpxjDbg()) << "could not open document";
return KoFilter::InternalError;
}
QString inputFile = m_chain->inputFile();
kDebug(planMpxjDbg())<<"Import from:"<<inputFile;
QTemporaryDir *tmp = new QTemporaryDir();
QString outFile( tmp->path() + "/maindoc.xml" );
kDebug(planMpxjDbg())<<"Temp file:"<<outFile;
KoFilter::ConversionStatus sts = doImport( inputFile.toUtf8(), outFile.toUtf8() );
kDebug(planMpxjDbg())<<"doImport returned:"<<(sts == KoFilter::OK);
if ( sts == KoFilter::OK ) {
QFile file( outFile );
KoXmlDocument doc;
if ( ! doc.setContent( &file ) ) {
kDebug(planMpxjDbg()) << "could not read maindoc.xml";
sts = KoFilter::InternalError;
} else if ( ! part->loadXML( doc, 0 ) ) {
kDebug(planMpxjDbg()) << "failed to load maindoc.xml";
sts = KoFilter::InternalError;
}
}
delete tmp;
return sts;
}