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

Method load

src/backend/core/Workbook.cpp:196–233  ·  view source on GitHub ↗

Load from XML

Source from the content-addressed store, hash-verified

194
195//! Load from XML
196bool Workbook::load(XmlStreamReader* reader, bool preview) {
197 if (!readBasicAttributes(reader))
198 return false;
199
200 while (!reader->atEnd()) {
201 reader->readNext();
202 if (reader->isEndElement() && reader->name() == QLatin1String("workbook"))
203 break;
204
205 if (!reader->isStartElement())
206 continue;
207
208 if (reader->name() == QLatin1String("comment")) {
209 if (!readCommentElement(reader))
210 return false;
211 } else if (reader->name() == QLatin1String("spreadsheet")) {
212 auto* spreadsheet = new Spreadsheet(QStringLiteral("spreadsheet"), true);
213 if (!spreadsheet->load(reader, preview)) {
214 delete spreadsheet;
215 return false;
216 } else
217 addChild(spreadsheet);
218 } else if (reader->name() == QLatin1String("matrix")) {
219 auto* matrix = new Matrix(i18n("matrix"), true);
220 if (!matrix->load(reader, preview)) {
221 delete matrix;
222 return false;
223 } else
224 addChild(matrix);
225 } else { // unknown element
226 reader->raiseWarning(i18n("unknown workbook element '%1'", reader->name().toString()));
227 if (!reader->skipToEndElement())
228 return false;
229 }
230 }
231
232 return true;
233}

Callers

nothing calls this directly

Calls 5

atEndMethod · 0.80
raiseWarningMethod · 0.80
skipToEndElementMethod · 0.80
nameMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected