void QTextOdfWriter::writeFormats(QXmlStreamWriter &writer, QSet<int> formats) const { writer.writeStartElement(officeNS, QString::fromLatin1("automatic-styles")); QVector<QTextFormat> allStyles = m_document->allFormats(); QSetIterator<int> formatId(formats); while(formatId.hasNext()) { int formatIndex = formatId.next(); QTextFormat textFormat = allStyles.at(formatIndex); switch (textFormat.type()) { case QTextFormat::CharFormat: if (textFormat.isTableCellFormat()) writeTableCellFormat(writer, textFormat.toTableCellFormat(), formatIndex); else writeCharacterFormat(writer, textFormat.toCharFormat(), formatIndex); break; case QTextFormat::BlockFormat: writeBlockFormat(writer, textFormat.toBlockFormat(), formatIndex); break; case QTextFormat::ListFormat: writeListFormat(writer, textFormat.toListFormat(), formatIndex); break; case QTextFormat::FrameFormat: writeFrameFormat(writer, textFormat.toFrameFormat(), formatIndex); break; case QTextFormat::TableFormat: ;break; } } writer.writeEndElement(); // automatic-styles }
void tst_QTextFormat::toFormat() { { QTextFormat fmt = QTextFrameFormat(); QCOMPARE(fmt.toFrameFormat().type(), int(QTextFormat::FrameFormat)); } { QTextFormat fmt = QTextTableFormat(); QCOMPARE(fmt.toTableFormat().type(), int(QTextFormat::FrameFormat)); QCOMPARE(fmt.toTableFormat().objectType(), int(QTextFormat::TableObject)); } { QTextFormat fmt = QTextBlockFormat(); QCOMPARE(fmt.toBlockFormat().type(), int(QTextFormat::BlockFormat)); } { QTextFormat fmt = QTextCharFormat(); QCOMPARE(fmt.toCharFormat().type(), int(QTextFormat::CharFormat)); } { QTextFormat fmt = QTextListFormat(); QCOMPARE(fmt.toListFormat().type(), int(QTextFormat::ListFormat)); } }