MCPcopy Create free account
hub / github.com/KDE/labplot / readCfRule

Method readCfRule

src/3rdparty/QXlsx/source/xlsxconditionalformatting.cpp:432–505  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

430}
431
432bool ConditionalFormattingPrivate::readCfRule(QXmlStreamReader &reader, XlsxCfRuleData *rule, Styles *styles)
433{
434 Q_ASSERT(reader.name() == QLatin1String("cfRule"));
435 QXmlStreamAttributes attrs = reader.attributes();
436 if (attrs.hasAttribute(QLatin1String("type")))
437 rule->attrs[XlsxCfRuleData::A_type] = attrs.value(QLatin1String("type")).toString();
438 if (attrs.hasAttribute(QLatin1String("dxfId"))) {
439 int id = attrs.value(QLatin1String("dxfId")).toInt();
440 if (styles)
441 rule->dxfFormat = styles->dxfFormat(id);
442 else
443 rule->dxfFormat.setDxfIndex(id);
444 }
445 rule->priority = attrs.value(QLatin1String("priority")).toInt();
446 if (attrs.value(QLatin1String("stopIfTrue")) == QLatin1String("1")) {
447 //default is false
448 rule->attrs[XlsxCfRuleData::A_stopIfTrue] = QLatin1String("1");
449 }
450 if (attrs.value(QLatin1String("aboveAverage")) == QLatin1String("0")) {
451 //default is true
452 rule->attrs[XlsxCfRuleData::A_aboveAverage] = QLatin1String("0");
453 }
454 if (attrs.value(QLatin1String("percent")) == QLatin1String("1")) {
455 //default is false
456 rule->attrs[XlsxCfRuleData::A_percent] = QLatin1String("1");
457 }
458 if (attrs.value(QLatin1String("bottom")) == QLatin1String("1")) {
459 //default is false
460 rule->attrs[XlsxCfRuleData::A_bottom] = QLatin1String("1");
461 }
462 if (attrs.hasAttribute(QLatin1String("operator")))
463 rule->attrs[XlsxCfRuleData::A_operator] = attrs.value(QLatin1String("operator")).toString();
464
465 if (attrs.hasAttribute(QLatin1String("text")))
466 rule->attrs[XlsxCfRuleData::A_text] = attrs.value(QLatin1String("text")).toString();
467
468 if (attrs.hasAttribute(QLatin1String("timePeriod")))
469 rule->attrs[XlsxCfRuleData::A_timePeriod] = attrs.value(QLatin1String("timePeriod")).toString();
470
471 if (attrs.hasAttribute(QLatin1String("rank")))
472 rule->attrs[XlsxCfRuleData::A_rank] = attrs.value(QLatin1String("rank")).toString();
473
474 if (attrs.hasAttribute(QLatin1String("stdDev")))
475 rule->attrs[XlsxCfRuleData::A_stdDev] = attrs.value(QLatin1String("stdDev")).toString();
476
477 if (attrs.value(QLatin1String("equalAverage")) == QLatin1String("1")) {
478 //default is false
479 rule->attrs[XlsxCfRuleData::A_equalAverage] = QLatin1String("1");
480 }
481
482 while (!reader.atEnd()) {
483 reader.readNextStartElement();
484 if (reader.tokenType() == QXmlStreamReader::StartElement) {
485 if (reader.name() == QLatin1String("formula")) {
486 const QString f = reader.readElementText();
487 if (!rule->attrs.contains(XlsxCfRuleData::A_formula1))
488 rule->attrs[XlsxCfRuleData::A_formula1] = f;
489 else if (!rule->attrs.contains(XlsxCfRuleData::A_formula2))

Callers 1

loadFromXmlMethod · 0.80

Calls 7

dxfFormatMethod · 0.80
setDxfIndexMethod · 0.80
atEndMethod · 0.80
nameMethod · 0.45
toStringMethod · 0.45
valueMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected