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

Method save

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

############################################################################## ################## Serialization/Deserialization ########################### ############################################################################## Save as XML

Source from the content-addressed store, hash-verified

1460// ##############################################################################
1461//! Save as XML
1462void ProcessBehaviorChart::save(QXmlStreamWriter* writer) const {
1463 Q_D(const ProcessBehaviorChart);
1464
1465 writer->writeStartElement(QStringLiteral("ProcessBehaviorChart"));
1466 writeBasicAttributes(writer);
1467 writeCommentElement(writer);
1468
1469 // general
1470 writer->writeStartElement(QStringLiteral("general"));
1471 WRITE_COLUMN(d->dataColumn, dataColumn);
1472 WRITE_COLUMN(d->data2Column, data2Column);
1473 WRITE_COLUMN(d->xColumn, xColumn);
1474 WRITE_COLUMN(d->yColumn, yColumn);
1475 WRITE_COLUMN(d->xCenterColumn, xCenterColumn);
1476 WRITE_COLUMN(d->yCenterColumn, yCenterColumn);
1477 WRITE_COLUMN(d->xUpperLimitColumn, xUpperLimitColumn);
1478 WRITE_COLUMN(d->yUpperLimitColumn, yUpperLimtColumn);
1479 WRITE_COLUMN(d->xLowerLimitColumn, xLowerLimitColumn);
1480 WRITE_COLUMN(d->yLowerLimitColumn, yLowerLimitColumn);
1481 writer->writeAttribute(QStringLiteral("type"), QString::number(static_cast<int>(d->type)));
1482 writer->writeAttribute(QStringLiteral("limitsMetric"), QString::number(static_cast<int>(d->limitsMetric)));
1483 writer->writeAttribute(QStringLiteral("sampleSize"), QString::number(d->sampleSize));
1484 writer->writeAttribute(QStringLiteral("minLowerLimit"), QString::number(d->minLowerLimit));
1485 writer->writeAttribute(QStringLiteral("maxUpperLimit"), QString::number(d->maxUpperLimit));
1486 writer->writeAttribute(QStringLiteral("exactLimitsEnabled"), QString::number(d->exactLimitsEnabled));
1487 writer->writeAttribute(QStringLiteral("visible"), QString::number(d->isVisible()));
1488 writer->writeAttribute(QStringLiteral("legendVisible"), QString::number(d->legendVisible));
1489 writer->writeEndElement();
1490
1491 writer->writeStartElement(QStringLiteral("labels"));
1492 writer->writeAttribute(QStringLiteral("enabled"), QString::number(d->labelsEnabled));
1493 writer->writeAttribute(QStringLiteral("precision"), QString::number(d->labelsPrecision));
1494 writer->writeAttribute(QStringLiteral("autoPrecision"), QString::number(d->labelsAutoPrecision));
1495 d->labelsBorderLine->save(writer);
1496 writer->writeEndElement();
1497
1498 d->centerLabel->save(writer);
1499 d->lowerLimitLabel->save(writer);
1500 d->upperLimitLabel->save(writer);
1501
1502 // save the internal columns, above only the references to them were saved
1503 d->xColumn->save(writer);
1504 d->yColumn->save(writer);
1505 d->xCenterColumn->save(writer);
1506 d->yCenterColumn->save(writer);
1507 d->xUpperLimitColumn->save(writer);
1508 d->yUpperLimitColumn->save(writer);
1509 d->xLowerLimitColumn->save(writer);
1510 d->yLowerLimitColumn->save(writer);
1511
1512 // save the internal curves
1513 // disconnect temporarily from renameInternalCurves so we can use unique names to be able to properly load the curves later
1514 disconnect(this, &AbstractAspect::aspectDescriptionChanged, this, &ProcessBehaviorChart::renameInternalCurves);
1515 d->dataCurve->setName(QStringLiteral("data"));
1516 d->dataCurve->save(writer);
1517 d->centerCurve->setName(QStringLiteral("center"));
1518 d->centerCurve->save(writer);
1519 d->upperLimitCurve->setName(QStringLiteral("upperLimit"));

Callers

nothing calls this directly

Calls 2

isVisibleMethod · 0.45
setNameMethod · 0.45

Tested by

no test coverage detected