本文整理汇总了C++中KoShapeLoadingContext::imageCollection方法的典型用法代码示例。如果您正苦于以下问题:C++ KoShapeLoadingContext::imageCollection方法的具体用法?C++ KoShapeLoadingContext::imageCollection怎么用?C++ KoShapeLoadingContext::imageCollection使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoShapeLoadingContext
的用法示例。
在下文中一共展示了KoShapeLoadingContext::imageCollection方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadOdf
//.........这里部分代码省略.........
}
} else if (style.localName() == "list-level-style-number" || style.localName() == "outline-level-style") { // it's a numbered list
KoOdfNumberDefinition numberDefinition;
numberDefinition.loadOdf(style);
switch(numberDefinition.formatSpecification()) {
case KoOdfNumberDefinition::Empty:
setStyle(KoListStyle::CustomCharItem);
setBulletCharacter(QChar());
break;
case KoOdfNumberDefinition::AlphabeticLowerCase:
setStyle(KoListStyle::AlphaLowerItem);
break;
case KoOdfNumberDefinition::AlphabeticUpperCase:
setStyle(KoListStyle::UpperAlphaItem);
break;
case KoOdfNumberDefinition::RomanLowerCase:
setStyle(KoListStyle::RomanLowerItem);
break;
case KoOdfNumberDefinition::RomanUpperCase:
setStyle(KoListStyle::UpperRomanItem);
break;
case KoOdfNumberDefinition::Numeric:
default:
setStyle(KoListStyle::DecimalItem);
}
if (!numberDefinition.prefix().isNull()) {
setListItemPrefix(numberDefinition.prefix());
}
if (!numberDefinition.suffix().isNull()) {
setListItemSuffix(numberDefinition.suffix());
}
const QString startValue = style.attributeNS(KoXmlNS::text, "start-value", QString("1"));
setStartValue(startValue.toInt());
}
else if (style.localName() == "list-level-style-image") { // list with image
setStyle(KoListStyle::ImageItem);
KoImageCollection *imageCollection = scontext.imageCollection();
const QString href = style.attribute("href");
if(imageCollection) {
if (!href.isEmpty()) {
KoStore *store = context.store();
setBulletImage(imageCollection->createImageData(href, store));
} else {
// check if we have an office:binary data element containing the image data
const KoXmlElement &binaryData(KoXml::namedItemNS(style, KoXmlNS::office, "binary-data"));
if (!binaryData.isNull()) {
QImage image;
if (image.loadFromData(QByteArray::fromBase64(binaryData.text().toLatin1()))) {
setBulletImage(imageCollection->createImageData(image));
}
}
}
}
}
else { // if not defined, we have do nothing
kDebug(32500) << "stylename else:" << style.localName() << "level=" << level << "displayLevel=" << displayLevel;
setStyle(KoListStyle::DecimalItem);
setListItemSuffix(".");
}
setLevel(level);
if (!displayLevel.isEmpty())
setDisplayLevel(displayLevel.toInt());
KoXmlElement property;
forEachElement(property, style) {
if (property.namespaceURI() != KoXmlNS::style)
continue;
const QString localName = property.localName();
if (localName == "list-level-properties") {
QString mode(property.attributeNS(KoXmlNS::text, "list-level-position-and-space-mode"));
if (mode == "label-alignment") {
KoXmlElement p;
forEachElement(p, property) {
if (p.namespaceURI() == KoXmlNS::style && p.localName() == "list-level-label-alignment") {
// The <style:list-level-label-alignment> element and the fo:text-align attribute are used to define
// the position and spacing of the list label and the list item. The values of the attributes for
// text:space-before, text:min-label-width and text:min-label-distance are assumed to be 0.
QString textAlign(p.attributeNS(KoXmlNS::fo, "text-align"));
setAlignment(textAlign.isEmpty() ? Qt::AlignLeft : KoText::alignmentFromString(textAlign));
QString textindent(p.attributeNS(KoXmlNS::fo, "text-indent"));
QString marginleft(p.attributeNS(KoXmlNS::fo, "margin-left"));
qreal ti = textindent.isEmpty() ? 0 : KoUnit::parseValue(textindent);
qreal ml = marginleft.isEmpty() ? 0 : KoUnit::parseValue(marginleft);
setIndent(qMax(0.0, ti + ml));
setMinimumWidth(0);
setMinimumDistance(0);
//TODO support ODF 18.829 text:label-followed-by and 18.832 text:list-tab-stop-position
}
}
} else { // default is mode == "label-width-and-position"
示例2: loadOdf
//.........这里部分代码省略.........
break;
case KoOdfNumberDefinition::Malayalam:
setStyle(KoListStyle::Malayalam);
break;
case KoOdfNumberDefinition::Kannada:
setStyle(KoListStyle::Kannada);
break;
case KoOdfNumberDefinition::Gurumukhi:
setStyle(KoListStyle::Gurumukhi);
break;
case KoOdfNumberDefinition::Gujarati:
setStyle(KoListStyle::Gujarati);
break;
case KoOdfNumberDefinition::Bengali:
setStyle(KoListStyle::Bengali);
break;
case KoOdfNumberDefinition::Numeric:
default:
setStyle(KoListStyle::DecimalItem);
}
if (!numberDefinition.prefix().isNull()) {
setListItemPrefix(numberDefinition.prefix());
}
if (!numberDefinition.suffix().isNull()) {
setListItemSuffix(numberDefinition.suffix());
}
const QString startValue = style.attributeNS(KoXmlNS::text, "start-value", QString("1"));
setStartValue(startValue.toInt());
}
else if (style.localName() == "list-level-style-image") { // list with image
setStyle(KoListStyle::ImageItem);
KoImageCollection *imageCollection = scontext.imageCollection();
const QString href = style.attribute("href");
if(imageCollection) {
if (!href.isEmpty()) {
KoStore *store = context.store();
setBulletImage(imageCollection->createImageData(href, store));
} else {
// check if we have an office:binary data element containing the image data
const KoXmlElement &binaryData(KoXml::namedItemNS(style, KoXmlNS::office, "binary-data"));
if (!binaryData.isNull()) {
QImage image;
if (image.loadFromData(QByteArray::fromBase64(binaryData.text().toLatin1()))) {
setBulletImage(imageCollection->createImageData(image));
}
}
}
}
}
else { // if not defined, we have do nothing
// kDebug(32500) << "stylename else:" << style.localName() << "level=" << level << "displayLevel=" << displayLevel;
setStyle(KoListStyle::DecimalItem);
setListItemSuffix(".");
}
setLevel(level);
if (!displayLevel.isEmpty())
setDisplayLevel(displayLevel.toInt());
KoXmlElement property;
forEachElement(property, style) {
if (property.namespaceURI() != KoXmlNS::style)
continue;
const QString localName = property.localName();