6#include <QtCore/qtextstream.h>
68 str <<
"QT_CONFIG(" <<
c.parameter() <<
')';
93 for (
int i = 0;
i < N; ++
i) {
95 return array[
i].valueString;
98 qWarning(
"uic: Warning: Invalid enumeration value %d, defaulting to %s",
99 value, defaultValue.data());
114 {0,
"NoToolBarArea"_L1},
115 {0x1,
"LeftToolBarArea"_L1},
116 {0x2,
"RightToolBarArea"_L1},
117 {0x4,
"TopToolBarArea"_L1},
118 {0x8,
"BottomToolBarArea"_L1},
119 {0xf,
"AllToolBarAreas"_L1}
131 {0x5,
"Preferred"_L1},
132 {0x3,
"MinimumExpanding"_L1},
133 {0x7,
"Expanding"_L1},
143 {0,
"NoDockWidgetArea"_L1},
144 {0x1,
"LeftDockWidgetArea"_L1},
145 {0x2,
"RightDockWidgetArea"_L1},
146 {0x4,
"TopDockWidgetArea"_L1},
147 {0x8,
"BottomDockWidgetArea"_L1},
148 {0xf,
"AllDockWidgetAreas"_L1}
157 {0,
"WindowText"_L1},
164 {7,
"BrightText"_L1},
165 {8,
"ButtonText"_L1},
169 {12,
"Highlight"_L1},
170 {13,
"HighlightedText"_L1},
172 {15,
"LinkVisited"_L1},
173 {16,
"AlternateBase"_L1},
175 {18,
"ToolTipBase"_L1},
176 {19,
"ToolTipText"_L1},
177 {20,
"PlaceholderText"_L1},
194 const auto oldPadChar =
str.padChar();
195 const auto oldFieldWidth =
str.fieldWidth();
196 const auto oldFieldAlignment =
str.fieldAlignment();
197 const auto oldIntegerBase =
str.integerBase();
198 str.setPadChar(u
'0');
200 str.setFieldAlignment(QTextStream::AlignRight);
203 str.setIntegerBase(oldIntegerBase);
204 str.setFieldAlignment(oldFieldAlignment);
205 str.setFieldWidth(oldFieldWidth);
206 str.setPadChar(oldPadChar);
256template <Encoding e,
class Iterator>
259 int escapeIntegerBase,
int escapeWidth,
260 char escapePrefix = 0)
270 }
else if (code !=
'\r') {
276 str <<
"\"\n" << indent << indent <<
'"';
290 str <<
"QString::fromUtf8(";
292 formatStringSequence<Encoding::Utf8>(
str, utf8.
cbegin(), utf8.cend(), indent,
309 for (
int i = 0;
i <
r.m_count; ++
i)
317 const char *returnType) :
318 m_name(
name), m_parameterType(parameterType), m_parameterName(parameterName),
319 m_indent(indent), m_return(returnType)
327 str << (
f.m_return ?
f.m_return :
"void") <<
' ' <<
f.m_name <<
'('
328 <<
f.m_parameterType;
329 if (
f.m_parameterType.cend()->isLetter())
331 str <<
f.m_parameterName <<
')' <<
'\n' <<
f.m_indent <<
"{\n";
334 str <<
"def " <<
f.m_name <<
"(self, " <<
f.m_parameterName <<
"):\n";
348 str <<
"} // " <<
f.m_name <<
"\n\n";
351 str <<
"# " <<
f.m_name <<
"\n\n";
358 bool withInitParameters)
363 if (withInitParameters)
368 if (!withInitParameters)
385 return arg.startsWith(u
'Q') &&
arg !=
"QPoint"_L1 &&
arg !=
"QSize"_L1;
409 const qsizetype parenPos =
s.signature.indexOf(u
'(');
414 s.signature.size() - parenPos - 2);
417 bool withOverload =
false;
419 switch (useQOverload) {
424 withOverload =
false;
427 withOverload = parameters.empty() || isAmbiguous;
434 str <<
'&' <<
s.className <<
"::" << functionName;
444 str <<
"QObject::connect(" << sender.
name <<
", ";
446 str <<
", " << receiver.
name <<
", ";
456 <<
"), " << receiver.
name <<
", SLOT(" << receiver.
signature <<
"))";
476 str << sender.
name <<
'.' << senderSignature.
left(paren);
481 senderSignature.
mid(paren + 1, senderSignature.size() - paren - 2);
483 str <<
"[\"" << parameters <<
"\"]";
485 str <<
".connect(" << receiver.
name <<
'.'
qsizetype size() const noexcept
const_reference at(qsizetype i) const noexcept
bool contains(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
constexpr bool isEmpty() const noexcept
Returns whether this string view is empty - that is, whether {size() == 0}.
constexpr QStringView left(qsizetype n) const noexcept
Q_CORE_EXPORT QList< QStringView > split(QStringView sep, Qt::SplitBehavior behavior=Qt::KeepEmptyParts, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
Splits the view into substring views wherever sep occurs, and returns the list of those string views.
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
Returns the substring of length length starting at position start in this object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
QString left(qsizetype n) const &
qsizetype indexOf(QLatin1StringView s, qsizetype from=0, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
const_iterator cbegin() const
endFunctionDefinition(const char *name)
startFunctionDefinition1(const char *name, const QString ¶meterType, const QString ¶meterName, const QString &indent, const char *returnType=nullptr)
QSet< QString >::iterator it
static Language _language
static void formatStringBasedConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver)
QString enumValue(const QString &value)
static bool isConstRef(const QStringView &arg)
static int formatSpecialCharacter(QTextStream &str, ushort value)
QLatin1StringView dockWidgetArea(int v)
QLatin1StringView paletteColorRole(int v)
static QString formatOverload(const QStringView ¶meters)
void _formatStackVariable(QTextStream &str, const char *className, QStringView varName, bool withInitParameters)
void _formatString(QTextStream &str, const QString &value, const QString &indent, bool qString)
static void formatStringSequence(QTextStream &str, Iterator it, Iterator end, const QString &indent, int escapeIntegerBase, int escapeWidth, char escapePrefix=0)
static void formatMemberFnPtr(QTextStream &str, const SignalSlot &s, OverloadUse useQOverload)
void setLanguage(Language l)
static void formatMemberFnPtrConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver)
static int formatEscapedNumber(QTextStream &str, ushort value, int base, int width, char prefix=0)
ConnectionSyntax connectionSyntax()
QString fixClassName(QString className)
QTextStream & operator<<(QTextStream &str, const qtConfig &c)
void formatConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver, ConnectionSyntax connectionSyntax)
QLatin1StringView toolbarArea(int v)
QLatin1StringView sizePolicy(int v)
QLatin1StringView lookupEnum(const EnumLookup(&array)[N], int value, int defaultIndex=0)
QString boolValue(bool v)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static qsizetype defaultIndex()
GLsizei const GLfloat * v
[13]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLenum GLuint GLenum GLsizei length
#define QStringLiteral(str)
const char className[16]
[1]
QLatin1StringView valueString
SignalSlotOptions options