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

Method load

src/backend/worksheet/plots/cartesian/ProcessBehaviorChart.cpp:1529–1636  ·  view source on GitHub ↗

Load from XML

Source from the content-addressed store, hash-verified

1527
1528//! Load from XML
1529bool ProcessBehaviorChart::load(XmlStreamReader* reader, bool preview) {
1530 Q_D(ProcessBehaviorChart);
1531
1532 if (!readBasicAttributes(reader))
1533 return false;
1534
1535 QXmlStreamAttributes attribs;
1536 QString str;
1537
1538 while (!reader->atEnd()) {
1539 reader->readNext();
1540 if (reader->isEndElement() && reader->name() == QLatin1String("ProcessBehaviorChart"))
1541 break;
1542
1543 if (!reader->isStartElement())
1544 continue;
1545
1546 if (reader->name() == QLatin1String("comment")) {
1547 if (!readCommentElement(reader))
1548 return false;
1549 } else if (!preview && reader->name() == QLatin1String("general")) {
1550 attribs = reader->attributes();
1551 READ_COLUMN(dataColumn);
1552 READ_COLUMN(data2Column);
1553 READ_COLUMN(xColumn);
1554 READ_COLUMN(yColumn);
1555 READ_COLUMN(xCenterColumn);
1556 READ_COLUMN(yCenterColumn);
1557 READ_COLUMN(xUpperLimitColumn);
1558 READ_COLUMN(yUpperLimitColumn);
1559 READ_COLUMN(xLowerLimitColumn);
1560 READ_COLUMN(yLowerLimitColumn);
1561 READ_INT_VALUE("type", type, ProcessBehaviorChart::Type);
1562 READ_INT_VALUE("limitsMetric", limitsMetric, ProcessBehaviorChart::LimitsMetric);
1563 READ_INT_VALUE("sampleSize", sampleSize, int);
1564 READ_DOUBLE_VALUE("minLowerLimit", minLowerLimit);
1565 READ_DOUBLE_VALUE("maxUpperLimit", maxUpperLimit);
1566 READ_INT_VALUE("exactLimitsEnabled", exactLimitsEnabled, bool);
1567 READ_INT_VALUE("legendVisible", legendVisible, bool);
1568
1569 str = attribs.value(QStringLiteral("visible")).toString();
1570 if (str.isEmpty())
1571 reader->raiseMissingAttributeWarning(QStringLiteral("visible"));
1572 else
1573 d->setVisible(str.toInt());
1574 } else if (!preview && reader->name() == QLatin1String("labels")) {
1575 attribs = reader->attributes();
1576 READ_INT_VALUE("enabled", labelsEnabled, bool);
1577 READ_INT_VALUE("precision", labelsPrecision, int);
1578 READ_INT_VALUE("autoPrecision", labelsAutoPrecision, bool);
1579 d->labelsBorderLine->load(reader, preview);
1580 } else if (reader->name() == QLatin1String("column")) {
1581 attribs = reader->attributes();
1582 bool rc = false;
1583 const auto& name = attribs.value(QStringLiteral("name"));
1584 if (name == QLatin1String("x"))
1585 rc = d->xColumn->load(reader, preview);
1586 else if (name == QLatin1String("y"))

Callers

nothing calls this directly

Calls 9

atEndMethod · 0.80
skipToEndElementMethod · 0.80
nameMethod · 0.45
toStringMethod · 0.45
valueMethod · 0.45
isEmptyMethod · 0.45
setVisibleMethod · 0.45

Tested by

no test coverage detected