Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
language.h
Go to the documentation of this file.
1// Copyright (C) 2018 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef LANGUAGE_H
5#define LANGUAGE_H
6
7#include <QtCore/qstring.h>
8#include <QtCore/qstringview.h>
9#include <QtCore/qstring.h>
10
12
13enum class Language { Cpp, Python };
14
16
17namespace language {
18
21
24
26extern char listStart;
27extern char listEnd;
28extern QString nullPtr;
29extern QString operatorNew;
30extern QString qtQualifier;
31extern QString qualifier;
32extern QString self;
33extern QString eol;
34extern QString emptyString;
35
37extern QString cppTrue;
38extern QString cppFalse;
39
40// Base class for streamable objects with one QStringView parameter
42{
43public:
45
46 QStringView parameter() const { return m_parameter; }
47
48private:
49 QStringView m_parameter;
50};
51
53{
54public:
56};
57
58QTextStream &operator<<(QTextStream &str, const qtConfig &c);
59
61{
62public:
64};
65
66QTextStream &operator<<(QTextStream &str, const openQtConfig &c);
67
69{
70public:
72};
73
74QTextStream &operator<<(QTextStream &, const closeQtConfig &c);
75
77
78const char *toolbarArea(int v);
79const char *sizePolicy(int v);
80const char *dockWidgetArea(int v);
81const char *paletteColorRole(int v);
82
83enum class Encoding { Utf8, Unicode };
84
85void _formatString(QTextStream &str, const QString &value, const QString &indent,
86 bool qString);
87
88template <bool AsQString>
90{
91public:
92 explicit _string(const QString &value, const QString &indent = QString())
93 : m_value(value), m_indent(indent) {}
94
95 void format(QTextStream &str) const
96 { _formatString(str, m_value, m_indent, AsQString); }
97
98private:
99 const QString &m_value;
100 const QString &m_indent;
101};
102
103template <bool AsQString>
105{
106 s.format(str);
107 return str;
108}
109
112
113class repeat {
114public:
115 explicit repeat(int count, char c) : m_count(count), m_char(c) {}
116
117 friend QTextStream &operator<<(QTextStream &str, const repeat &r);
118
119private:
120 const int m_count;
121 const char m_char;
122};
123
125public:
126 explicit startFunctionDefinition1(const char *name, const QString &parameterType,
127 const QString &parameterName,
128 const QString &indent,
129 const char *returnType = nullptr);
130
132private:
133 const char *m_name;
134 const QString &m_parameterType;
135 const QString &m_parameterName;
136 const QString &m_indent;
137 const char *m_return;
138};
139
141public:
142 explicit endFunctionDefinition(const char *name);
143
145private:
146 const char *m_name;
147};
148
149void _formatStackVariable(QTextStream &str, const char *className, QStringView varName, bool withInitParameters);
150
151template <bool withInitParameters>
153public:
154 explicit _stackVariable(const char *className, QStringView varName) :
155 m_className(className), m_varName(varName) {}
156
157 void format(QTextStream &str) const
158 { _formatStackVariable(str, m_className, m_varName, withInitParameters); }
159
160private:
161 const char *m_className;
162 QStringView m_varName;
163 QStringView m_parameters;
164};
165
166template <bool withInitParameters>
168{
169 s.format(str);
170 return str;
171}
172
175
177{
178 Ambiguous = 0x1
179};
180
181Q_DECLARE_FLAGS(SignalSlotOptions, SignalSlotOption)
182
184{
188 SignalSlotOptions options;
189};
190
191void formatConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver,
193
194QString boolValue(bool v);
195
197
198} // namespace language
199
200#endif // LANGUAGE_H
\inmodule QtCore
Definition qstringview.h:76
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\inmodule QtCore
QStringView parameter() const
Definition language.h:46
StringViewStreamable(QStringView parameter)
Definition language.h:44
void format(QTextStream &str) const
Definition language.h:157
_stackVariable(const char *className, QStringView varName)
Definition language.h:154
_string(const QString &value, const QString &indent=QString())
Definition language.h:92
void format(QTextStream &str) const
Definition language.h:95
closeQtConfig(QStringView name)
Definition language.h:71
friend QTextStream & operator<<(QTextStream &str, const endFunctionDefinition &f)
Definition language.cpp:343
openQtConfig(QStringView name)
Definition language.h:63
qtConfig(QStringView name)
Definition language.h:55
repeat(int count, char c)
Definition language.h:115
friend QTextStream & operator<<(QTextStream &str, const repeat &r)
Definition language.cpp:306
friend QTextStream & operator<<(QTextStream &str, const startFunctionDefinition1 &f)
Definition language.cpp:322
QString str
[2]
ConnectionSyntax
Definition language.h:15
Language
Definition language.h:13
QString self
Definition language.cpp:57
Language language()
Definition language.cpp:15
QString qtQualifier
Definition language.cpp:55
QString enumValue(const QString &value)
Definition language.cpp:469
char listStart
Definition language.cpp:51
QString emptyString
Definition language.cpp:59
QString nullPtr
Definition language.cpp:53
const char * toolbarArea(int v)
Definition language.cpp:109
const char * dockWidgetArea(int v)
Definition language.cpp:138
void _formatStackVariable(QTextStream &str, const char *className, QStringView varName, bool withInitParameters)
Definition language.cpp:356
void _formatString(QTextStream &str, const QString &value, const QString &indent, bool qString)
Definition language.cpp:282
QString eol
Definition language.cpp:58
char listEnd
Definition language.cpp:52
QString qualifier
Definition language.cpp:56
QString cppFalse
Definition language.cpp:63
void setLanguage(Language l)
Definition language.cpp:17
ConnectionSyntax connectionSyntax()
const char * sizePolicy(int v)
Definition language.cpp:123
void setConnectionSyntax(ConnectionSyntax cs)
QString fixClassName(QString className)
Definition language.cpp:102
const char * paletteColorRole(int v)
Definition language.cpp:152
QString cppTrue
Definition language.cpp:62
SignalSlotOption
Definition language.h:177
QTextStream & operator<<(QTextStream &str, const qtConfig &c)
Definition language.cpp:65
void formatConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver, ConnectionSyntax connectionSyntax)
Definition language.cpp:422
QString cppQualifier
Definition language.cpp:61
QString operatorNew
Definition language.cpp:54
QString derefPointer
Definition language.cpp:50
QString boolValue(bool v)
Definition language.cpp:456
QT_FORWARD_DECLARE_CLASS(QCocoaMenuItem)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_FLAGS(Flags, Enum)
Definition qflags.h:174
GLsizei const GLfloat * v
[13]
GLboolean r
[2]
GLenum GLenum GLsizei count
GLfloat GLfloat f
GLuint name
const GLubyte * c
GLdouble s
[6]
Definition qopenglext.h:235
const char className[16]
[1]
Definition qwizard.cpp:100
SignalSlotOptions options
Definition language.h:188