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
writeincludesbase.h
Go to the documentation of this file.
1// Copyright (C) 2021 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 WRITEINCLUDES_BASE_H
6#define WRITEINCLUDES_BASE_H
7
8#include <treewalker.h>
9
10#include <QtCore/qset.h>
11#include <QtCore/qstring.h>
12
14
15class DomCustomWidget;
16class Uic;
17
19{
20 const char *klass;
21 const char *module;
22 const char *header;
23};
24
26{
27 const ClassInfoEntry *begin() const { return m_begin; }
28 const ClassInfoEntry *end() const { return m_end; }
29
32};
33
35
37{
38public:
39 explicit WriteIncludesBase(Uic *uic);
40
41 void acceptUI(DomUI *node) override;
42 void acceptWidget(DomWidget *node) override;
43 void acceptLayout(DomLayout *node) override;
44 void acceptSpacer(DomSpacer *node) override;
45 void acceptProperty(DomProperty *node) override;
46
47 //
48 // actions
49 //
50 void acceptActionGroup(DomActionGroup *node) override;
51 void acceptAction(DomAction *node) override;
52 void acceptActionRef(DomActionRef *node) override;
53
54 //
55 // custom widgets
56 //
57 void acceptCustomWidget(DomCustomWidget *node) override;
58
59protected:
60 void add(const QString &className, const DomCustomWidget *dcw = nullptr);
61
62 virtual void doAdd(const QString &className, const DomCustomWidget *dcw = nullptr) = 0;
63
64 const Uic *uic() const { return m_uic; }
65 Uic *uic() { return m_uic; }
66
67private:
68 QSet<QString> m_knownClasses;
69 Uic *m_uic;
70 bool m_laidOut = false;
71};
72
73QT_END_NAMESPACE
74
75#endif // WRITEINCLUDES_BASE_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
virtual void doAdd(const QString &className, const DomCustomWidget *dcw=nullptr)=0
void acceptActionRef(DomActionRef *node) override
void acceptSpacer(DomSpacer *node) override
void acceptCustomWidget(DomCustomWidget *node) override
void add(const QString &className, const DomCustomWidget *dcw=nullptr)
const Uic * uic() const
void acceptUI(DomUI *node) override
void acceptLayout(DomLayout *node) override
void acceptWidget(DomWidget *node) override
void acceptActionGroup(DomActionGroup *node) override
void acceptAction(DomAction *node) override
void acceptProperty(DomProperty *node) override
@ debugWriteIncludes
static QString moduleHeader(const QString &module, const QString &header)
@ warnHeaderGeneration
Combined button and popup list for selecting options.
const QString & asString(const QString &s)
Definition qstring.h:1700
#define qPrintable(string)
Definition qstring.h:1705
const ClassInfoEntry * end() const
const ClassInfoEntry * begin() const
const ClassInfoEntry * m_end
const ClassInfoEntry * m_begin
const char * klass
const char * module
const char * header
ClassInfoEntries classInfoEntries()