############################################################################## ################## Serialization/Deserialization ########################### ############################################################################## Save as XML
| 1097 | // ############################################################################## |
| 1098 | //! Save as XML |
| 1099 | void TextLabel::save(QXmlStreamWriter* writer) const { |
| 1100 | Q_D(const TextLabel); |
| 1101 | |
| 1102 | writer->writeStartElement(QStringLiteral("textLabel")); |
| 1103 | writeBasicAttributes(writer); |
| 1104 | writeCommentElement(writer); |
| 1105 | |
| 1106 | writer->writeStartElement(QStringLiteral("geometry")); |
| 1107 | WorksheetElement::save(writer); |
| 1108 | writer->writeEndElement(); |
| 1109 | |
| 1110 | writer->writeStartElement(QStringLiteral("text")); |
| 1111 | writer->writeCharacters(d->textWrapper.text); |
| 1112 | writer->writeEndElement(); |
| 1113 | |
| 1114 | if (!d->textWrapper.textPlaceholder.isEmpty()) { |
| 1115 | writer->writeStartElement(QStringLiteral("textPlaceholder")); |
| 1116 | writer->writeCharacters(d->textWrapper.textPlaceholder); |
| 1117 | writer->writeEndElement(); |
| 1118 | } |
| 1119 | |
| 1120 | writer->writeStartElement(QStringLiteral("format")); |
| 1121 | writer->writeAttribute(QStringLiteral("placeholder"), QString::number(d->textWrapper.allowPlaceholder)); |
| 1122 | writer->writeAttribute(QStringLiteral("mode"), QString::number(static_cast<int>(d->textWrapper.mode))); |
| 1123 | WRITE_QFONT(d->teXFont); |
| 1124 | WRITE_QCOLOR2(d->fontColor, "fontColor"); |
| 1125 | WRITE_QCOLOR2(d->backgroundColor, "backgroundColor"); |
| 1126 | writer->writeEndElement(); |
| 1127 | |
| 1128 | // border |
| 1129 | writer->writeStartElement(QStringLiteral("border")); |
| 1130 | writer->writeAttribute(QStringLiteral("borderShape"), QString::number(static_cast<int>(d->borderShape))); |
| 1131 | d->borderLine->save(writer); |
| 1132 | writer->writeEndElement(); |
| 1133 | |
| 1134 | if (d->textWrapper.mode == TextLabel::Mode::LaTeX) { |
| 1135 | writer->writeStartElement(QStringLiteral("teXPdfData")); |
| 1136 | writer->writeCharacters(QLatin1String(d->teXPdfData.toBase64())); |
| 1137 | writer->writeEndElement(); |
| 1138 | } |
| 1139 | |
| 1140 | writer->writeEndElement(); // close "textLabel" section |
| 1141 | } |
| 1142 | |
| 1143 | //! Load from XML |
| 1144 | bool TextLabel::load(XmlStreamReader* reader, bool preview) { |