node->m_engine->addTextObject(QPointF(0, 0), format, QQuickTextNodeEngine::Unselected, d->document,
pos, textFrame->frameFormat().position());
nodeStart = pos;
- } else if (qobject_cast<QTextTable*>(textFrame)) { // To keep things simple, map text tables as one text node
- QTextFrame::iterator it = textFrame->begin();
- nodeOffset = d->document->documentLayout()->frameBoundingRect(textFrame).topLeft();
- updateNodeTransform(node, nodeOffset);
- while (!it.atEnd())
- node->m_engine->addTextBlock(d->document, (it++).currentBlock(), -nodeOffset, d->color, QColor(), selectionStart(), selectionEnd() - 1);
- nodeStart = textFrame->firstPosition();
} else {
// Having nodes spanning across frame boundaries will break the current bookkeeping mechanism. We need to prevent that.
QList<int> frameBoundaries;
--- /dev/null
+import QtQuick 2.0
+
+Item {
+ width: 320
+ height: 480
+
+ TextEdit {
+ id: textEdit
+ anchors.centerIn: parent
+ verticalAlignment: Text.AlignBottom
+ font.family: "Arial"
+ font.pixelSize: 16
+ textFormat: Text.RichText
+ Component.onCompleted: textEdit.selectAll()
+ text:
+ "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
+ "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" +
+ "<body >\n" +
+ "<table >\n" +
+ "<tr >\n" +
+ "<td >\n" +
+ "Cell 1\n" +
+ "</td>\n" +
+ "</tr>\n" +
+ "<tr >\n" +
+ "<td >\n" +
+ "Cell 2\n" +
+ "</td>\n" +
+ "</tr>\n" +
+ "<tr >\n" +
+ "<td >\n" +
+ "Cell 3\n" +
+ "</td>\n" +
+ "</tr>\n" +
+ "</table>\n" +
+ "</body>\n" +
+ "</html>\n"
+
+ }
+}