summaryrefslogtreecommitdiffstats
path: root/src/gui/doc/snippets/textblock-fragments/xmlwriter.h
blob: 910a87b50e1053ce2613ecf6aaab0189b742c444 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#ifndef XMLWRITER_H
#define XMLWRITER_H

#include <QDomDocument>
#include <QTextBlock>

class QTextDocument;

class XmlWriter
{
public:
    XmlWriter(QTextDocument *document) : textDocument(document) {}
    QDomDocument *toXml();

private:
    void readFragment(const QTextBlock &currentBlock, QDomElement blockElement,
                      QDomDocument *document);
    void processBlock(const QTextBlock &currentBlock);
    void processFragment(const QTextFragment &currentFragment);

    QDomDocument *document;
    QTextDocument *textDocument;
};

#endif