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

Method save

src/backend/worksheet/plots/cartesian/CartesianPlot.cpp:4751–4862  ·  view source on GitHub ↗

Save as XML

Source from the content-addressed store, hash-verified

4749
4750//! Save as XML
4751void CartesianPlot::save(QXmlStreamWriter* writer) const {
4752 Q_D(const CartesianPlot);
4753
4754 writer->writeStartElement(QStringLiteral("cartesianPlot"));
4755 writeBasicAttributes(writer);
4756 writeCommentElement(writer);
4757
4758 // applied theme
4759 if (!d->theme.isEmpty()) {
4760 writer->writeStartElement(QStringLiteral("theme"));
4761 writer->writeAttribute(QStringLiteral("name"), d->theme);
4762 writer->writeEndElement();
4763 }
4764
4765 // cursor
4766 d->cursorLine->save(writer);
4767
4768 // geometry
4769 writer->writeStartElement(QStringLiteral("geometry"));
4770 writer->writeAttribute(QStringLiteral("x"), QString::number(d->rect.x()));
4771 writer->writeAttribute(QStringLiteral("y"), QString::number(d->rect.y()));
4772 writer->writeAttribute(QStringLiteral("width"), QString::number(d->rect.width()));
4773 writer->writeAttribute(QStringLiteral("height"), QString::number(d->rect.height()));
4774 writer->writeAttribute(QStringLiteral("visible"), QString::number(d->isVisible()));
4775 writer->writeEndElement();
4776
4777 // x-ranges
4778 writer->writeStartElement(QStringLiteral("xRanges"));
4779 for (const auto& range : d->xRanges) {
4780 writer->writeStartElement(QStringLiteral("xRange"));
4781 writer->writeAttribute(QStringLiteral("autoScale"), QString::number(range.range.autoScale()));
4782 writer->writeAttribute(QStringLiteral("start"), QString::number(range.range.start(), 'g', 16));
4783 writer->writeAttribute(QStringLiteral("end"), QString::number(range.range.end(), 'g', 16));
4784 writer->writeAttribute(QStringLiteral("scale"), QString::number(static_cast<int>(range.range.scale())));
4785 writer->writeAttribute(QStringLiteral("format"), QString::number(static_cast<int>(range.range.format())));
4786 writer->writeAttribute(QStringLiteral("dateTimeFormat"), range.range.dateTimeFormat());
4787 writer->writeEndElement();
4788 }
4789 writer->writeEndElement();
4790
4791 // y-ranges
4792 writer->writeStartElement(QStringLiteral("yRanges"));
4793 for (const auto& range : d->yRanges) {
4794 writer->writeStartElement(QStringLiteral("yRange"));
4795 writer->writeAttribute(QStringLiteral("autoScale"), QString::number(range.range.autoScale()));
4796 writer->writeAttribute(QStringLiteral("start"), QString::number(range.range.start(), 'g', 16));
4797 writer->writeAttribute(QStringLiteral("end"), QString::number(range.range.end(), 'g', 16));
4798 writer->writeAttribute(QStringLiteral("scale"), QString::number(static_cast<int>(range.range.scale())));
4799 writer->writeAttribute(QStringLiteral("format"), QString::number(static_cast<int>(range.range.format())));
4800 writer->writeAttribute(QStringLiteral("dateTimeFormat"), range.range.dateTimeFormat());
4801 writer->writeEndElement();
4802 }
4803 writer->writeEndElement();
4804
4805 // coordinate systems, data range settings and padding
4806 writer->writeStartElement(QStringLiteral("coordinateSystems"));
4807 writer->writeAttribute(QStringLiteral("defaultCoordinateSystem"), QString::number(defaultCoordinateSystemIndex()));
4808 writer->writeAttribute(QStringLiteral("horizontalPadding"), QString::number(d->horizontalPadding));

Callers 1

paintMethod · 0.45

Calls 14

xMethod · 0.80
heightMethod · 0.80
isEmptyMethod · 0.45
yMethod · 0.45
widthMethod · 0.45
isVisibleMethod · 0.45
autoScaleMethod · 0.45
startMethod · 0.45
endMethod · 0.45
scaleMethod · 0.45
formatMethod · 0.45
dateTimeFormatMethod · 0.45

Tested by

no test coverage detected