6#include <QtCore/qtextstream.h>
23 derefPointer = u"->"_s;
26 nullPtr = u"nullptr"_s;
27 operatorNew = u"new "_s;
28 qtQualifier = u"Qt::"_s;
32 emptyString = u"QString()"_s;
35 case Language::Python:
36 derefPointer = u"."_s;
41 qtQualifier = u"Qt."_s;
45 emptyString = u"\"\""_s;
68 str <<
"QT_CONFIG(" << c.parameter() <<
')';
74 str <<
"#if " <<
qtConfig(c.parameter()) <<
'\n';
80 str <<
"#endif // " <<
qtConfig(c.parameter()) <<
'\n';
93 for (
int i = 0; i < N; ++i) {
94 if (value == array[i].value)
95 return array[i].valueString;
97 auto defaultValue = array[defaultIndex].valueString;
98 qWarning(
"uic: Warning: Invalid enumeration value %d, defaulting to %s",
99 value, defaultValue.data());
105 if (language() == Language::Python)
106 className.replace(cppQualifier,
"_"_L1);
114 {0,
"NoToolBarArea"_L1},
115 {0x1,
"LeftToolBarArea"_L1},
116 {0x2,
"RightToolBarArea"_L1},
117 {0x4,
"TopToolBarArea"_L1},
118 {0x8,
"BottomToolBarArea"_L1},
119 {0xf,
"AllToolBarAreas"_L1}
121 return lookupEnum(toolBarAreas, v);
131 {0x5,
"Preferred"_L1},
132 {0x3,
"MinimumExpanding"_L1},
133 {0x7,
"Expanding"_L1},
136 return lookupEnum(sizePolicies, v, 3);
143 {0,
"NoDockWidgetArea"_L1},
144 {0x1,
"LeftDockWidgetArea"_L1},
145 {0x2,
"RightDockWidgetArea"_L1},
146 {0x4,
"TopDockWidgetArea"_L1},
147 {0x8,
"BottomDockWidgetArea"_L1},
148 {0xf,
"AllDockWidgetAreas"_L1}
150 return lookupEnum(dockWidgetAreas, v);
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},
179 return lookupEnum(colorRoles, v);
270 }
else if (
code !=
'\r') {
290 str <<
"QString::fromUtf8(";
309 for (
int i = 0; i < r.m_count; ++i)
315 const QString ¶meterName,
316 const QString &indent,
317 const char *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";
385 return arg.startsWith(u'Q') && arg !=
"QPoint"_L1 && arg !=
"QSize"_L1;
390 QString result =
"qOverload<"_L1;
391 const auto args = QStringView{parameters}.split(u',');
392 for (qsizetype i = 0, size = args.size(); i < size; ++i) {
393 const auto &arg = args.at(i);
396 const bool constRef = isConstRef(arg);
398 result +=
"const "_L1;
497 return v ? cppTrue : cppFalse;
499 return v ? QStringLiteral(
"True") : QStringLiteral(
"False");
510 QString fixed = value;
511 fixed.replace(cppQualifier, dot());
endFunctionDefinition(const char *name)
startFunctionDefinition1(const char *name, const QString ¶meterType, const QString ¶meterName, const QString &indent, const char *returnType=nullptr)
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)
QTextStream & operator<<(QTextStream &str, const openQtConfig &c)
static QString formatOverload(const QStringView ¶meters)
QTextStream & operator<<(QTextStream &str, const startFunctionDefinition1 &f)
void _formatStackVariable(QTextStream &str, const char *className, QStringView varName, bool withInitParameters)
void _formatString(QTextStream &str, const QString &value, const QString &indent, bool qString)
QTextStream & operator<<(QTextStream &str, const endFunctionDefinition &f)
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)
QTextStream & operator<<(QTextStream &str, const closeQtConfig &c)
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)
QString fixClassName(QString className)
QTextStream & operator<<(QTextStream &str, const repeat &r)
static Language _language
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)
QLatin1StringView valueString