Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cppwriteincludes.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3// Qt-Security score:insignificant reason:build-tool
4
5#ifndef CPPWRITEINCLUDES_H
6#define CPPWRITEINCLUDES_H
7
8#include <writeincludesbase.h>
9
10#include <QtCore/qmap.h>
11
12#include <set>
13
14QT_BEGIN_NAMESPACE
15
16class QTextStream;
17
18namespace CPP {
19
21{
22public:
23 WriteIncludes(Uic *uic);
24
25 void acceptUI(DomUI *node) override;
26 void acceptInclude(DomInclude *node) override;
27
28protected:
29 QTextStream &output() const { return m_output; }
30 void doAdd(const QString &className, const DomCustomWidget *dcw = nullptr) override;
31
32private:
33 using OrderedSet = std::set<QString>;
34 void addCppCustomWidget(const QString &className, const DomCustomWidget *dcw);
35 void insertIncludeForClass(const QString &className, QString header = QString(), bool global = false);
36 void insertInclude(const QString &header, bool global);
37 void writeHeaders(const OrderedSet &headers, bool global);
38 QString headerForClassName(const QString &className) const;
39
40 QTextStream &m_output;
41
42 OrderedSet m_localIncludes;
43 OrderedSet m_globalIncludes;
44 QSet<QString> m_includeBaseNames;
45 using StringMap = QMap<QString, QString>;
46 StringMap m_classToHeader;
47 StringMap m_oldHeaderToNewHeader;
48};
49
50} // namespace CPP
51
52QT_END_NAMESPACE
53
54#endif // CPPWRITEINCLUDES_H
QTextStream & output() const
void acceptUI(DomUI *node) override
void acceptInclude(DomInclude *node) override
void doAdd(const QString &className, const DomCustomWidget *dcw=nullptr) override
Definition uic.h:31
QTextStream & output()
Definition uic.h:42
void acceptUI(DomUI *node) override
@ debugWriteIncludes
static QString moduleHeader(const QString &module, const QString &header)
@ warnHeaderGeneration
const QString & asString(const QString &s)
Definition qstring.h:1700
#define qPrintable(string)
Definition qstring.h:1705
const char * header
ClassInfoEntries classInfoEntries()