57 switch (pstyle->
kind()) {
80 if (
const DomSize *sizeHint = sh->elementSize()) {
81 w = sizeHint->elementWidth();
82 h = sizeHint->elementHeight();
85 output <<
w <<
", " <<
h <<
", ";
100 bool isVspacer =
false;
102 const QString orientation =
o->elementEnum();
114 if (i1 < i2)
return -1;
115 if (i1 > i2)
return 1;
120 template <
class Value>
127 return i->hasElementNormalOff() ||
i->hasElementNormalOn() ||
128 i->hasElementDisabledOff() ||
i->hasElementDisabledOn() ||
129 i->hasElementActiveOff() ||
i->hasElementActiveOn() ||
130 i->hasElementSelectedOff() ||
i->hasElementSelectedOn();
134 return iconHasStatePixmaps(
i) || !
i->attributeTheme().isEmpty();
146 if (
p->attributeName() ==
u"features"
148 &&
p->elementSet() ==
u"QDockWidget::AllDockWidgetFeatures") {
155 if (
p->attributeName() ==
u"sizeAdjustPolicy"
157 &&
p->elementEnum() ==
u"QComboBox::AdjustToMinimumContentsLength") {
165 if (!isIconFormat44(dri)) {
166 if (dri->text().isEmpty()) {
177 if (drp->text().isEmpty()) {
209 const QString rhsFamily =
rhs.m_domFont->hasElementFamily() ?
rhs.m_domFont->elementFamily() :
QString();
211 if (
const int frc = family.
compare(rhsFamily))
215 const int rhsPointSize =
rhs.m_domFont->hasElementPointSize() ?
rhs.m_domFont->elementPointSize() : -1;
221 const int rhsBold =
rhs.m_domFont->hasElementBold() ? (
rhs.m_domFont->elementBold() ? 1 : 0) : -1;
226 const int rhsItalic =
rhs.m_domFont->hasElementItalic() ? (
rhs.m_domFont->elementItalic() ? 1 : 0) : -1;
231 const int rhsUnderline =
rhs.m_domFont->hasElementUnderline() ? (
rhs.m_domFont->elementUnderline() ? 1 : 0) : -1;
236 const int rhsWeight =
rhs.m_domFont->hasElementWeight() ?
rhs.m_domFont->elementWeight() : -1;
241 const int rhsStrikeOut =
rhs.m_domFont->hasElementStrikeOut() ? (
rhs.m_domFont->elementStrikeOut() ? 1 : 0) : -1;
246 const int rhsKerning =
rhs.m_domFont->hasElementKerning() ? (
rhs.m_domFont->elementKerning() ? 1 : 0) : -1;
251 const int rhsAntialiasing =
rhs.m_domFont->hasElementAntialiasing() ? (
rhs.m_domFont->elementAntialiasing() ? 1 : 0) : -1;
252 if (
const int crc =
compareInt(antialiasing, rhsAntialiasing))
256 const QString rhsStyleStrategy =
rhs.m_domFont->hasElementStyleStrategy() ?
rhs.m_domFont->elementStyleStrategy() :
QString();
258 if (
const int src = styleStrategy.
compare(rhsStyleStrategy))
275 const QString rhsNormalOff =
rhs.m_domIcon->hasElementNormalOff() ?
rhs.m_domIcon->elementNormalOff()->text() :
QString();
276 if (
const int comp = normalOff.
compare(rhsNormalOff))
280 const QString rhsNormalOn =
rhs.m_domIcon->hasElementNormalOn() ?
rhs.m_domIcon->elementNormalOn()->text() :
QString();
281 if (
const int comp = normalOn.
compare(rhsNormalOn))
285 const QString rhsDisabledOff =
rhs.m_domIcon->hasElementDisabledOff() ?
rhs.m_domIcon->elementDisabledOff()->text() :
QString();
286 if (
const int comp = disabledOff.
compare(rhsDisabledOff))
290 const QString rhsDisabledOn =
rhs.m_domIcon->hasElementDisabledOn() ?
rhs.m_domIcon->elementDisabledOn()->text() :
QString();
291 if (
const int comp = disabledOn.
compare(rhsDisabledOn))
295 const QString rhsActiveOff =
rhs.m_domIcon->hasElementActiveOff() ?
rhs.m_domIcon->elementActiveOff()->text() :
QString();
296 if (
const int comp = activeOff.
compare(rhsActiveOff))
300 const QString rhsActiveOn =
rhs.m_domIcon->hasElementActiveOn() ?
rhs.m_domIcon->elementActiveOn()->text() :
QString();
301 if (
const int comp = activeOn.
compare(rhsActiveOn))
305 const QString rhsSelectedOff =
rhs.m_domIcon->hasElementSelectedOff() ?
rhs.m_domIcon->elementSelectedOff()->text() :
QString();
306 if (
const int comp = selectedOff.
compare(rhsSelectedOff))
310 const QString rhsSelectedOn =
rhs.m_domIcon->hasElementSelectedOn() ?
rhs.m_domIcon->elementSelectedOn()->text() :
QString();
311 if (
const int comp = selectedOn.
compare(rhsSelectedOn))
314 if (
const int comp = m_domIcon->
text().
compare(
rhs.m_domIcon->text()))
321 m_domSizePolicy(domSizePolicy)
329 const int rhsHSizeType =
rhs.m_domSizePolicy->hasElementHSizeType() ?
rhs.m_domSizePolicy->elementHSizeType() : -1;
334 const int rhsVSizeType =
rhs.m_domSizePolicy->hasElementVSizeType() ?
rhs.m_domSizePolicy->elementVSizeType() : -1;
339 const int rhsHStretch =
rhs.m_domSizePolicy->hasElementHorStretch() ?
rhs.m_domSizePolicy->elementHorStretch() : -1;
344 const int rhsVStretch =
rhs.m_domSizePolicy->hasElementVerStretch() ?
rhs.m_domSizePolicy->elementVerStretch() : -1;
349 const QString rhsAttributeHSizeType =
rhs.m_domSizePolicy->hasAttributeHSizeType() ?
rhs.m_domSizePolicy->attributeHSizeType() :
QString();
351 if (
const int hrc = attributeHSizeType.
compare(rhsAttributeHSizeType))
355 const QString rhsAttributeVSizeType =
rhs.m_domSizePolicy->hasAttributeVSizeType() ?
rhs.m_domSizePolicy->attributeVSizeType() :
QString();
357 return attributeVSizeType.
compare(rhsAttributeVSizeType);
362 WriteInitialization::LayoutDefaultHandler::LayoutDefaultHandler()
374 if (
node->hasAttributeMargin()) {
375 m_state[
Margin] |= HasDefaultValue;
376 m_defaultValues[
Margin] =
node->attributeMargin();
378 if (
node->hasAttributeSpacing()) {
379 m_state[Spacing] |= HasDefaultValue;
380 m_defaultValues[Spacing] =
node->attributeSpacing();
388 if (
node->hasAttributeMargin()) {
389 m_state[
Margin] |= HasDefaultFunction;
390 m_functions[
Margin] =
node->attributeMargin();
393 if (
node->hasAttributeSpacing()) {
394 m_state[Spacing] |= HasDefaultFunction;
395 m_functions[Spacing] =
node->attributeSpacing();
407 void WriteInitialization::LayoutDefaultHandler::writeProperty(
int p,
const QString &indent,
const QString &objectName,
408 const DomPropertyMap &properties,
const QString &propertyName,
const QString &setter,
409 int defaultStyleValue,
bool suppressDefault,
QTextStream &
str)
const
413 const int value = prop->elementNumber();
416 const bool useLayoutFunctionPre43 = !suppressDefault && (m_state[
p] == (HasDefaultFunction|HasDefaultValue)) &&
value == m_defaultValues[
p];
417 if (!useLayoutFunctionPre43) {
418 bool ifndefMac = (!(m_state[
p] & (HasDefaultFunction|HasDefaultValue))
419 &&
value == defaultStyleValue);
421 str <<
"#ifndef Q_OS_MAC\n";
423 writeContentsMargins(indent, objectName,
value,
str);
435 if (m_state[
p] & HasDefaultFunction) {
440 if (m_state[
p] & HasDefaultValue) {
442 writeContentsMargins(indent, objectName, m_defaultValues[
p],
str);
451 void WriteInitialization::LayoutDefaultHandler::writeProperties(
const QString &indent,
const QString &varName,
452 const DomPropertyMap &properties,
int marginType,
453 bool suppressMarginDefault,
459 defaultSpacing,
false,
str);
461 static const int layoutmargins[4] = {-1, 9, 9, 0};
463 layoutmargins[marginType], suppressMarginDefault,
str);
466 template <
class DomElement>
467 static bool needsTranslation(
const DomElement *element)
471 return !element->hasAttributeNotr() || !
toBool(element->attributeNotr());
477 m_driver(uic->driver()), m_output(uic->output()), m_option(uic->
option()),
478 m_indent(m_option.indent + m_option.indent),
479 m_dindent(m_indent + m_option.indent),
480 m_delayedOut(&m_delayedInitialization,
QIODevice::WriteOnly),
481 m_refreshOut(&m_refreshInitialization,
QIODevice::WriteOnly),
482 m_actionOut(&m_delayedActionInitialization,
QIODevice::WriteOnly)
488 m_actionGroupChain.
push(
nullptr);
489 m_widgetChain.
push(
nullptr);
490 m_layoutChain.
push(
nullptr);
492 if (
node->hasAttributeConnectslotsbyname())
493 m_connectSlotsByName =
node->attributeConnectslotsbyname();
495 if (
auto customSlots =
node->elementSlots()) {
496 m_customSlots = customSlots->elementSlot();
497 m_customSignals = customSlots->elementSignal();
503 if (
node->elementCustomWidgets())
507 m_output <<
"#include <" << m_driver->
headerFileName() <<
">\n\n";
510 if (
node->hasAttributeStdSetDef())
511 m_stdsetdef =
node->attributeStdSetDef();
517 m_mainFormVarName = varName;
519 const QString widgetClassName =
node->elementWidget()->attributeClass();
522 m_output << m_option.
indent
531 m_output << m_indent << varConn <<
" = QSqlDatabase::database("
537 if (!m_buddies.
empty())
539 for (
const Buddy &
b : qAsConst(m_buddies)) {
542 fprintf(stderr,
"%s: Warning: Buddy assignment: '%s' is not a valid widget.\n",
544 qPrintable(
b.buddyAttributeName));
551 if (!m_buddies.
empty())
554 if (
node->elementTabStops())
557 if (!m_delayedActionInitialization.
isEmpty())
558 m_output <<
"\n" << m_delayedActionInitialization;
563 if (
node->elementConnections())
566 if (!m_delayedInitialization.
isEmpty())
567 m_output <<
"\n" << m_delayedInitialization <<
"\n";
576 if (!m_mainFormUsedInRetranslateUi) {
579 m_refreshInitialization += m_indent;
581 m_refreshInitialization += varName ;
585 m_refreshInitialization += m_indent;
591 m_output << m_option.
indent
593 << m_refreshInitialization
598 m_actionGroupChain.
pop();
606 const auto &attributes =
page->elementAttribute();
607 if (!attributes.empty()) {
621 <<
"setPage(" <<
id <<
", " << pageVarName <<
')' <<
language::eol;
631 QString parentWidget, parentClass;
632 if (m_widgetChain.
top()) {
637 const QString savedParentWidget = parentWidget;
640 parentWidget.
clear();
644 if (m_widgetChain.
size() != 1) {
650 parentWidget = savedParentWidget;
653 if (cwi->extends(
className,
"QComboBox")) {
654 initializeComboBox(
node);
655 }
else if (cwi->extends(
className,
"QListWidget")) {
656 initializeListWidget(
node);
657 }
else if (cwi->extends(
className,
"QTreeWidget")) {
658 initializeTreeWidget(
node);
659 }
else if (cwi->extends(
className,
"QTableWidget")) {
660 initializeTableWidget(
node);
664 addButtonGroup(
node, varName);
666 writeProperties(varName,
className,
node->elementProperty());
670 initializeMenu(
node, parentWidget);
674 m_layoutChain.
push(
nullptr);
676 m_layoutWidget =
false;
678 if (
const DomWidget* parentWidget = m_widgetChain.
top()) {
679 const QString parentClass = parentWidget->attributeClass();
683 m_layoutWidget =
true;
687 m_layoutChain.
push(
nullptr);
691 m_layoutWidget =
false;
697 if (cwi->extends(parentClass,
"QMainWindow")) {
698 if (cwi->extends(
className,
"QMenuBar")) {
701 }
else if (cwi->extends(
className,
"QToolBar")) {
713 }
else if (cwi->extends(
className,
"QDockWidget")) {
730 QString addPageMethod = cwi->customWidgetAddPageMethod(parentClass);
732 addPageMethod = cwi->simpleContainerAddPageMethod(parentClass);
733 if (!addPageMethod.
isEmpty()) {
737 addWizardPage(varName,
node, parentWidget);
745 << varName <<
icon <<
", " << noTrCall(plabelString, pageDefaultString)
748 autoTrOutput(plabelString, pageDefaultString) << m_indent << parentWidget
751 << autoTrCall(plabelString, pageDefaultString) <<
')' <<
language::eol;
754 autoTrOutput(ptoolTip->elementString())
758 << autoTrCall(ptoolTip->elementString()) <<
')' <<
language::eol
770 autoTrOutput(ptitleString, pageDefaultString) << m_indent << parentWidget
773 << autoTrCall(ptitleString, pageDefaultString) <<
')' <<
language::eol;
776 autoTrOutput(ptoolTip->elementString())
780 <<
"), " << autoTrCall(ptoolTip->elementString()) <<
')' <<
language::eol
784 autoTrOutput(pwhatsThis->elementString())
788 <<
"), " << autoTrCall(pwhatsThis->elementString()) <<
')' <<
language::eol
813 if (cwi->extendsOneOf(
className, trees)) {
815 for (
auto realPropertyName : realPropertyNames) {
817 +
QChar(realPropertyName.at(0)).
toUpper() + realPropertyName.mid(1);
819 fakeProperty->setAttributeName(realPropertyName);
820 headerProperties << fakeProperty;
825 WritePropertyIgnoreObjectName);
827 }
else if (cwi->extendsOneOf(
className, tables)) {
833 for (
auto headerPrefix : headerPrefixes) {
835 for (
auto realPropertyName : realPropertyNames) {
836 const QString fakePropertyName = headerPrefix
837 +
QChar(realPropertyName.at(0)).
toUpper() + realPropertyName.mid(1);
839 fakeProperty->setAttributeName(realPropertyName);
840 headerProperties << fakeProperty;
846 headerProperties, WritePropertyIgnoreObjectName);
857 fprintf(stderr,
"%s: Warning: Z-order assignment: '%s' is not a valid widget.\n",
859 name.toLatin1().data());
867 void WriteInitialization::addButtonGroup(
const DomWidget *buttonNode,
const QString &varName)
878 const bool createGroupOnTheFly =
group ==
nullptr;
879 if (createGroupOnTheFly) {
883 fprintf(stderr,
"%s: Warning: Creating button group `%s'\n",
889 if (!m_buttonGroups.
contains(groupName)) {
891 m_output << m_indent;
892 if (createGroupOnTheFly)
896 m_buttonGroups.
insert(groupName);
909 const bool oldLayoutProperties = properties.value(
QLatin1String(
"margin")) !=
nullptr;
911 bool isGroupBox =
false;
915 if (!m_layoutChain.
top() && !isGroupBox)
921 const bool suppressMarginDefault = m_layoutChain.
top();
923 if (oldLayoutProperties)
924 marginType = m_layoutMarginType;
925 m_LayoutDefaultHandler.writeProperties(m_indent, varName, properties, marginType, suppressMarginDefault, m_output);
931 if (m_layoutWidget) {
935 const QString propertyName =
p->attributeName();
948 p->setElementNumber(0);
954 p->setElementNumber(0);
960 p->setElementNumber(0);
966 p->setElementNumber(0);
969 m_layoutWidget =
false;
972 propList.
append(newPropList);
974 writeProperties(varName,
className, propList, WritePropertyIgnoreMargin|WritePropertyIgnoreSpacing);
987 writePropertyList(varName,
QLatin1String(
"setStretch"),
node->attributeStretch(), numberNull);
988 writePropertyList(varName,
QLatin1String(
"setRowStretch"),
node->attributeRowStretch(), numberNull);
989 writePropertyList(varName,
QLatin1String(
"setColumnStretch"),
node->attributeColumnStretch(), numberNull);
990 writePropertyList(varName,
QLatin1String(
"setColumnMinimumWidth"),
node->attributeColumnMinimumWidth(), numberNull);
991 writePropertyList(varName,
QLatin1String(
"setRowMinimumHeight"),
node->attributeRowMinimumHeight(), numberNull);
995 void WriteInitialization::writePropertyList(
const QString &varName,
1000 if (
value.isEmpty())
1005 if (
list.at(
i) != defaultValue) {
1019 static inline QString formLayoutRole(
int column,
int colspan)
1057 << layoutAddMethod(
node->kind(),
layout->attributeClass()) <<
'(';
1060 const int row =
node->attributeRow();
1061 const int col =
node->attributeColumn();
1063 const int rowSpan =
node->hasAttributeRowSpan() ?
node->attributeRowSpan() : 1;
1064 const int colSpan =
node->hasAttributeColSpan() ?
node->attributeColSpan() : 1;
1065 m_output << itemName <<
", " <<
row <<
", " << col <<
", " << rowSpan <<
", " << colSpan;
1069 const int row =
node->attributeRow();
1070 const int colSpan =
node->hasAttributeColSpan() ?
node->attributeColSpan() : 1;
1071 const QString role = formLayoutRole(
node->attributeColumn(), colSpan);
1074 m_output << itemName;
1086 if (m_actionGroupChain.
top())
1091 writeProperties(actionName,
QLatin1String(
"QActionGroup"),
node->elementProperty());
1095 m_actionGroupChain.
pop();
1100 if (
node->hasAttributeMenu())
1106 if (m_actionGroupChain.
top())
1117 if (actionName.
isEmpty() || !m_widgetChain.
top()
1141 fprintf(stderr,
"%s: Warning: action `%s' not declared\n",
1142 qPrintable(m_option.
messagePrefix()), qPrintable(actionName));
1155 str <<
"QStringList()";
1158 return propertyValue;
1159 if (needsTranslation(
list)) {
1167 return propertyValue;
1173 return toolTipConfigKey();
1175 return whatsThisConfigKey();
1177 return statusTipConfigKey();
1179 return shortcutConfigKey();
1181 || propertyName ==
QLatin1String(
"accessibleDescription")) {
1182 return accessibilityConfigKey();
1187 void WriteInitialization::writeProperties(
const QString &varName,
1189 const DomPropertyList &lst,
1192 const bool isTopLevel = m_widgetChain.
count() == 1;
1204 if (!m_widgetChain.
top()) {
1205 indent = m_option.
indent;
1208 m_output << m_indent <<
"if (" << varName <<
"->objectName().isEmpty())\n";
1211 m_output << m_indent <<
"if not " << varName <<
".objectName():\n";
1215 if (!(
flags & WritePropertyIgnoreObjectName)) {
1219 m_output << m_indent << indent
1224 int leftMargin, topMargin, rightMargin, bottomMargin;
1225 leftMargin = topMargin = rightMargin = bottomMargin = -1;
1226 bool frameShadowEncountered =
false;
1231 QString propertyName =
p->attributeName();
1233 bool delayProperty =
false;
1236 if (isTopLevel && propertyName ==
QLatin1String(
"geometry") &&
p->elementRect()) {
1239 <<
r->elementWidth() <<
", " <<
r->elementHeight() <<
')' <<
language::eol;
1245 <<
"setCurrentRow(" <<
p->elementNumber() <<
')' <<
language::eol;
1255 <<
"setCurrentIndex(" <<
p->elementNumber() <<
')' <<
language::eol;
1273 delayProperty =
true;
1275 &&
p->elementStringList()) {
1292 if (!frameShadowEncountered) {
1294 <<
"setFrameShadow("
1299 }
else if ((
flags & WritePropertyIgnoreMargin) && propertyName ==
QLatin1String(
"margin")) {
1301 }
else if ((
flags & WritePropertyIgnoreSpacing) && propertyName ==
QLatin1String(
"spacing")) {
1304 leftMargin =
p->elementNumber();
1307 topMargin =
p->elementNumber();
1310 rightMargin =
p->elementNumber();
1313 bottomMargin =
p->elementNumber();
1317 qWarning(
"Widget '%s': Deprecated property QLCDNumber::numDigits encountered. It has been replaced by QLCDNumber::digitCount.",
1318 qPrintable(varName));
1321 frameShadowEncountered =
true;
1324 bool stdset = m_stdsetdef;
1325 if (
p->hasAttributeStdset())
1326 stdset =
p->attributeStdset();
1337 << propertyName <<
"\", ";
1341 str <<
"::fromValue";
1349 switch (
p->kind()) {
1355 propertyValue = domColor2QString(
p->elementColor());
1359 Buddy buddy = { varName,
p->elementCstring() };
1360 m_buddies.
append(std::move(buddy));
1364 str <<
"QByteArray(";
1372 .
arg(
p->elementCursor());
1375 if (
p->hasAttributeStdset() && !
p->attributeStdset())
1381 propertyValue =
p->elementEnum();
1391 propertyValue = writeFontProperties(
p->elementFont());
1394 propertyValue = writeIconProperties(
p->elementIconSet());
1397 propertyValue = pixCall(
p);
1408 propertyValue = paletteName;
1426 .
arg(
r->elementX()).
arg(
r->elementY())
1427 .
arg(
r->elementWidth()).
arg(
r->elementHeight());
1438 const DomLocale *locale =
p->elementLocale();
1445 const QString spName = writeSizePolicy(
p->elementSizePolicy());
1446 m_output << m_indent << spName <<
".setHeightForWidth("
1450 propertyValue = spName;
1456 .
arg(
s->elementWidth()).
arg(
s->elementHeight());
1467 const QString v =
p->elementString()->text();
1474 propertyValue = autoTrCall(
p->elementString());
1503 .
arg(
c->elementUnicode());
1509 .
arg(
d->elementYear())
1510 .
arg(
d->elementMonth())
1511 .
arg(
d->elementDay());
1517 .
arg(
t->elementHour())
1518 .
arg(
t->elementMinute())
1519 .
arg(
t->elementSecond());
1534 propertyValue = writeStringListProperty(
p->elementStringList());
1544 propertyValue = writeBrushInitialization(
p->elementBrush());
1550 if (!propertyValue.
isEmpty()) {
1551 const QString configKey = configKeyForProperty(propertyName);
1553 QTextStream &
o = delayProperty ? m_delayedOut : autoTrOutput(
p);
1557 o << m_indent << varNewName <<
setFunction << propertyValue;
1564 if (varName == m_mainFormVarName && &
o == &m_refreshOut) {
1567 m_mainFormUsedInRetranslateUi =
true;
1571 if (leftMargin != -1 || topMargin != -1 || rightMargin != -1 || bottomMargin != -1) {
1573 << leftMargin <<
", " << topMargin <<
", "
1574 << rightMargin <<
", " << bottomMargin <<
")" <<
language::eol;
1582 const SizePolicyHandle sizePolicyHandle(
sp);
1591 m_sizePolicyNameMap.
insert(sizePolicyHandle, spName);
1594 if (
sp->hasElementHSizeType() &&
sp->hasElementVSizeType()) {
1597 }
else if (
sp->hasAttributeHSizeType() &&
sp->hasAttributeVSizeType()) {
1603 m_output << m_indent << spName <<
".setHorizontalStretch("
1605 m_output << m_indent << spName <<
".setVerticalStretch("
1615 const FontHandle fontHandle(
f);
1617 if (
it != m_fontPropertiesNameMap.
constEnd()) {
1627 if (
f->hasElementFamily() && !
f->elementFamily().isEmpty()) {
1628 m_output << m_indent <<
fontName <<
".setFamilies("
1633 if (
f->hasElementPointSize() &&
f->elementPointSize() > 0) {
1634 m_output << m_indent <<
fontName <<
".setPointSize(" <<
f->elementPointSize()
1638 if (
f->hasElementBold()) {
1639 m_output << m_indent <<
fontName <<
".setBold("
1642 if (
f->hasElementItalic()) {
1643 m_output << m_indent <<
fontName <<
".setItalic("
1646 if (
f->hasElementUnderline()) {
1647 m_output << m_indent <<
fontName <<
".setUnderline("
1650 if (
f->hasElementStrikeOut()) {
1651 m_output << m_indent <<
fontName <<
".setStrikeOut("
1654 if (
f->hasElementKerning()) {
1655 m_output << m_indent <<
fontName <<
".setKerning("
1658 if (
f->hasElementAntialiasing()) {
1659 m_output << m_indent <<
fontName <<
".setStyleStrategy(QFont"
1661 << (
f->elementAntialiasing() ?
"PreferDefault" :
"NoAntialias")
1664 if (
f->hasElementStyleStrategy()) {
1665 m_output << m_indent <<
fontName <<
".setStyleStrategy(QFont"
1675 output << indent << iconName <<
".addFile("
1682 static void writeResourceIcon(
QTextStream &output,
1687 if (
i->hasElementNormalOff()) {
1688 writeIconAddFile(output, indent, iconName,
i->elementNormalOff()->text(),
1691 if (
i->hasElementNormalOn()) {
1692 writeIconAddFile(output, indent, iconName,
i->elementNormalOn()->text(),
1695 if (
i->hasElementDisabledOff()) {
1696 writeIconAddFile(output, indent, iconName,
i->elementDisabledOff()->text(),
1699 if (
i->hasElementDisabledOn()) {
1700 writeIconAddFile(output, indent, iconName,
i->elementDisabledOn()->text(),
1703 if (
i->hasElementActiveOff()) {
1704 writeIconAddFile(output, indent, iconName,
i->elementActiveOff()->text(),
1707 if (
i->hasElementActiveOn()) {
1708 writeIconAddFile(output, indent, iconName,
i->elementActiveOn()->text(),
1711 if (
i->hasElementSelectedOff()) {
1712 writeIconAddFile(output, indent, iconName,
i->elementSelectedOff()->text(),
1715 if (
i->hasElementSelectedOn()) {
1716 writeIconAddFile(output, indent, iconName,
i->elementSelectedOn()->text(),
1725 output << indent << iconName <<
".addPixmap(" << call <<
", QIcon"
1730 void WriteInitialization::writePixmapFunctionIcon(
QTextStream &output,
1735 if (
i->hasElementNormalOff()) {
1736 writeIconAddPixmap(output, indent, iconName,
1737 pixCall(
QLatin1String(
"QPixmap"),
i->elementNormalOff()->text()),
1740 if (
i->hasElementNormalOn()) {
1741 writeIconAddPixmap(output, indent, iconName,
1745 if (
i->hasElementDisabledOff()) {
1746 writeIconAddPixmap(output, indent, iconName,
1747 pixCall(
QLatin1String(
"QPixmap"),
i->elementDisabledOff()->text()),
1750 if (
i->hasElementDisabledOn()) {
1751 writeIconAddPixmap(output, indent, iconName,
1752 pixCall(
QLatin1String(
"QPixmap"),
i->elementDisabledOn()->text()),
1755 if (
i->hasElementActiveOff()) {
1756 writeIconAddPixmap(output, indent, iconName,
1757 pixCall(
QLatin1String(
"QPixmap"),
i->elementActiveOff()->text()),
1760 if (
i->hasElementActiveOn()) {
1761 writeIconAddPixmap(output, indent, iconName,
1765 if (
i->hasElementSelectedOff()) {
1766 writeIconAddPixmap(output, indent, iconName,
1767 pixCall(
QLatin1String(
"QPixmap"),
i->elementSelectedOff()->text()),
1770 if (
i->hasElementSelectedOn()) {
1771 writeIconAddPixmap(output, indent, iconName,
1772 pixCall(
QLatin1String(
"QPixmap"),
i->elementSelectedOn()->text()),
1780 const IconHandle iconHandle(
i);
1782 if (
it != m_iconPropertiesNameMap.
constEnd())
1787 m_iconPropertiesNameMap.
insert(IconHandle(
i), iconName);
1792 m_output << m_indent;
1794 m_output <<
"const QIcon ";
1795 m_output << iconName <<
" = " << pixCall(
QLatin1String(
"QIcon"),
i->text())
1801 if (
i->attributeTheme().isEmpty()) {
1806 writeResourceIcon(m_output, iconName, m_indent,
i);
1808 writePixmapFunctionIcon(m_output, iconName, m_indent,
i);
1813 if (iconHasStatePixmaps(
i)) {
1817 const char themeNameStringVariableC[] =
"iconThemeName";
1819 m_output << m_indent;
1820 if (m_firstThemeIcon) {
1822 m_output <<
"QString ";
1823 m_firstThemeIcon =
false;
1825 m_output << themeNameStringVariableC <<
" = "
1827 m_output << m_indent <<
"if ";
1831 << themeNameStringVariableC <<
')' << (isCpp ?
") {" :
":") <<
'\n'
1834 << m_indent << (isCpp ?
"} else {" :
"else:") <<
'\n';
1836 writeResourceIcon(m_output, iconName, m_dindent,
i);
1838 writePixmapFunctionIcon(m_output, iconName, m_dindent,
i);
1839 m_output << m_indent;
1847 m_output << m_indent
1857 if (
c->hasAttributeAlpha())
1859 .
arg(
c->elementRed())
1860 .
arg(
c->elementGreen())
1861 .
arg(
c->elementBlue())
1862 .
arg(
c->attributeAlpha());
1864 .
arg(
c->elementRed())
1865 .
arg(
c->elementGreen())
1866 .
arg(
c->elementBlue());
1883 for (
int i=0;
i<colors.size(); ++
i) {
1886 m_output << m_indent << paletteName <<
".setColor(" <<
group
1888 <<
", " << domColor2QString(
color)
1895 if (colorRole->hasAttributeRole()) {
1896 const QString roleName = colorRole->attributeRole();
1897 const QVersionNumber versionAdded = colorRoleVersionAdded(roleName);
1898 const QString brushName = writeBrushInitialization(colorRole->elementBrush());
1899 if (!versionAdded.
isNull()) {
1900 m_output <<
"#if QT_VERSION >= QT_VERSION_CHECK("
1904 m_output << m_indent << paletteName <<
".setBrush("
1908 if (!versionAdded.
isNull())
1909 m_output <<
"#endif\n";
1919 const bool solidColoredBrush = !
brush->hasAttributeBrushStyle() ||
brush->attributeBrushStyle() ==
QLatin1String(
"SolidPattern");
1921 if (solidColoredBrush) {
1923 rgb = ((
color->elementRed() & 0xFF) << 24) |
1924 ((
color->elementGreen() & 0xFF) << 16) |
1925 ((
color->elementBlue() & 0xFF) << 8) |
1926 ((
color->attributeAlpha() & 0xFF));
1928 if (cit != m_colorBrushHash.
constEnd())
1934 writeBrush(
brush, brushName);
1935 if (solidColoredBrush)
1936 m_colorBrushHash.
insert(
rgb, brushName);
1943 if (
brush->hasAttributeBrushStyle())
1953 m_output << m_indent
1959 }
else if (gradientType ==
QLatin1String(
"RadialGradient")) {
1960 m_output << m_indent
1967 }
else if (gradientType ==
QLatin1String(
"ConicalGradient")) {
1968 m_output << m_indent
1975 m_output << m_indent << gradientName <<
".setSpread(QGradient"
1980 m_output << m_indent << gradientName <<
".setCoordinateMode(QGradient"
1988 m_output << m_indent << gradientName <<
".setColorAt("
1989 << stop->attributePosition() <<
", "
1992 m_output << m_indent
1999 m_output << m_indent
2004 m_output << m_indent
2008 m_output << m_indent << brushName <<
".setStyle("
2028 for (
int i=0;
i<
l.size(); ++
i) {
2031 if (
name.isEmpty()) {
2032 fprintf(stderr,
"%s: Warning: Tab-stop assignment: '%s' is not a valid widget.\n",
2054 return writeIconProperties(
icon->elementIconSet());
2055 return pixCall(
icon);
2061 switch (
p->kind()) {
2064 s =
p->elementIconSet()->text();
2068 s =
p->elementPixmap()->text();
2071 qWarning(
"%s: Warning: Unknown icon format encountered. The ui-file was generated with a too-recent version of Designer.",
2076 return pixCall(
type,
s);
2098 void WriteInitialization::initializeComboBox(
DomWidget *
w)
2102 const auto &
items =
w->elementItem();
2115 iconValue = iconCall(
icon);
2119 m_output << iconValue <<
", ";
2121 if (needsTranslation(
text->elementString())) {
2124 <<
"setItemText(" <<
i <<
", " << trCall(
text->elementString())
2130 m_refreshOut <<
"\n";
2137 if (!
w->elementItem().isEmpty()) {
2139 m_refreshOut <<
"\n";
2140 m_refreshOut << m_indent;
2142 m_refreshOut <<
"const bool ";
2153 if (!
w->elementItem().isEmpty()) {
2155 <<
"setSortingEnabled(" << tempName <<
')' <<
language::eol <<
'\n';
2174 void WriteInitialization::addInitializer(
Item *
item,
2177 if (!
value.isEmpty()) {
2184 item->addSetter(setter, directive, translatable);
2197 void WriteInitialization::addStringInitializer(
Item *
item,
2204 bool translatable = needsTranslation(
str);
2211 void WriteInitialization::addBrushInitializer(
Item *
item,
2215 if (
p->elementBrush())
2216 addInitializer(
item,
name,
column, writeBrushInitialization(
p->elementBrush()));
2217 else if (
p->elementColor())
2218 addInitializer(
item,
name,
column, domColor2QString(
p->elementColor()));
2226 void WriteInitialization::addQtFlagsInitializer(
Item *
item,
2243 void WriteInitialization::addQtEnumInitializer(
Item *
item,
2256 void WriteInitialization::addCommonInitializers(
Item *
item,
2257 const DomPropertyMap &properties,
int column)
2269 toolTipConfigKey());
2271 whatsThisConfigKey());
2273 statusTipConfigKey());
2276 void WriteInitialization::initializeListWidget(
DomWidget *
w)
2280 const auto &
items =
w->elementItem();
2285 QString tempName = disableSorting(
w, varName);
2295 addCommonInitializers(&
item, properties);
2297 item.writeSetupUi(varName);
2300 item.writeRetranslateUi(parentPath);
2302 enableSorting(
w, varName, tempName);
2305 void WriteInitialization::initializeTreeWidget(
DomWidget *
w)
2312 const auto &columns =
w->elementColumn();
2313 for (
int i = 0;
i < columns.size(); ++
i) {
2317 addCommonInitializers(&
item, properties,
i);
2330 if (!itemName.
isNull()) {
2335 if (
w->elementItem().empty())
2338 QString tempName = disableSorting(
w, varName);
2340 const auto items = initializeTreeWidgetItems(
w->elementItem());
2343 itm->writeSetupUi(varName);
2346 itm->writeRetranslateUi(parentPath);
2350 enableSorting(
w, varName, tempName);
2362 WriteInitialization::Items WriteInitialization::initializeTreeWidgetItems(
const QList<DomItem *> &domItems)
2366 const int numDomItems = domItems.
size();
2369 for (
int i = 0;
i < numDomItems; ++
i) {
2382 addCommonInitializers(
item,
map, col);
2389 addCommonInitializers(
item,
map, col);
2393 const auto subItems = initializeTreeWidgetItems(domItem->
elementItem());
2394 for (
Item *subItem : subItems)
2395 item->addChild(subItem);
2400 void WriteInitialization::initializeTableWidget(
DomWidget *
w)
2405 const auto &columns =
w->elementColumn();
2407 if (!columns.empty()) {
2409 <<
"columnCount() < " << columns.
size() <<
')';
2416 for (
int i = 0;
i < columns.size(); ++
i) {
2418 if (!
column->elementProperty().isEmpty()) {
2422 addCommonInitializers(&
item, properties);
2427 <<
"horizontalHeaderItem(" <<
i <<
')';
2428 item.writeRetranslateUi(parentPath);
2435 const auto &rows =
w->elementRow();
2437 if (!rows.isEmpty()) {
2439 <<
"rowCount() < " << rows.
size() <<
')';
2446 for (
int i = 0;
i < rows.size(); ++
i) {
2448 if (!
row->elementProperty().isEmpty()) {
2452 addCommonInitializers(&
item, properties);
2457 item.writeRetranslateUi(parentPath);
2464 QString tempName = disableSorting(
w, varName);
2466 const auto &
items =
w->elementItem();
2469 if (cell->hasAttributeRow() && cell->hasAttributeColumn() && !cell->elementProperty().isEmpty()) {
2470 const int r = cell->attributeRow();
2471 const int c = cell->attributeColumn();
2476 addCommonInitializers(&
item, properties);
2481 <<
", " <<
c <<
')';
2482 item.writeRetranslateUi(parentPath);
2487 enableSorting(
w, varName, tempName);
2500 if (idBasedTranslations || m_option.
idBased) {
2504 <<
'"' << m_generatedClass <<
"\", ";
2512 if (!idBasedTranslations && !m_option.
idBased) {
2531 m_output << m_indent << menuAction <<
" = " << menuName
2544 id =
str->attributeId();
2564 if ((!
str && !defaultString.
isEmpty()) || needsTranslation(
str))
2565 return trCall(
str, defaultString);
2566 return noTrCall(
str, defaultString);
2572 return autoTrOutput(
str);
2574 if (needsTranslation(
list))
2575 return m_refreshOut;
2581 if ((!
str && !defaultString.
isEmpty()) || needsTranslation(
str))
2582 return m_refreshOut;
2586 WriteInitialization::Declaration WriteInitialization::findDeclaration(
const QString &
name)
2612 if (requiresStringSyntax.contains(sender.
className)
2613 || requiresStringSyntax.contains(receiver.
className)) {
2617 if ((sender.
name == m_mainFormVarName && m_customSignals.contains(sender.
signature))
2618 || (receiver.
name == m_mainFormVarName && m_customSlots.contains(receiver.
signature))) {
2632 const auto senderDecl = findDeclaration(senderName);
2633 const auto receiverDecl = findDeclaration(receiverName);
2635 if (senderDecl.name.isEmpty() || receiverDecl.name.isEmpty()) {
2638 <<
": Warning: Invalid signal/slot connection: \""
2639 << senderName <<
"\" -> \"" << receiverName <<
"\".";
2640 fprintf(stderr,
"%s\n", qPrintable(
message));
2644 language::SignalSlotOptions signalOptions;
2649 senderDecl.className, signalOptions};
2651 receiverDecl.className, {}};
2653 m_output << m_indent;
2655 connectionSyntax(theSignal, theSlot));
2664 if (directives.
size() == 1) {
2671 std::sort(
list.begin(),
list.end());
2684 outputStream <<
"#endif" <<
Qt::endl;
2689 m_itemClassName(itemClassName),
2691 m_setupUiStream(setupUiStream),
2692 m_retranslateUiStream(retranslateUiStream),
2698 WriteInitialization::Item::~Item()
2703 QString WriteInitialization::Item::writeSetupUi(
const QString &
parent, Item::EmptyItemPolicy emptyItemPolicy)
2705 if (emptyItemPolicy == Item::DontConstruct && m_setupUiData.policy == ItemData::DontGenerate)
2708 bool generateMultiDirective =
false;
2709 if (emptyItemPolicy == Item::ConstructItemOnly && m_children.isEmpty()) {
2710 if (m_setupUiData.policy == ItemData::DontGenerate) {
2715 if (m_setupUiData.policy == ItemData::GenerateWithMultiDirective)
2716 generateMultiDirective =
true;
2719 if (generateMultiDirective)
2720 generateMultiDirectiveBegin(m_setupUiStream, m_setupUiData.directives);
2723 m_setupUiStream << m_indent;
2725 m_setupUiStream << m_itemClassName <<
" *";
2730 if (generateMultiDirective) {
2731 m_setupUiStream <<
"#else\n";
2734 generateMultiDirectiveEnd(m_setupUiStream, m_setupUiData.directives);
2738 while (
it != m_setupUiData.setters.constEnd()) {
2739 if (!
it.key().isEmpty())
2742 if (!
it.key().isEmpty())
2746 for (
Item *
child : qAsConst(m_children))
2751 void WriteInitialization::Item::writeRetranslateUi(
const QString &parentPath)
2753 if (m_retranslateUiData.policy == ItemData::DontGenerate)
2756 if (m_retranslateUiData.policy == ItemData::GenerateWithMultiDirective)
2757 generateMultiDirectiveBegin(m_retranslateUiStream, m_retranslateUiData.directives);
2760 m_retranslateUiStream << m_indent;
2762 m_retranslateUiStream << m_itemClassName <<
" *";
2765 if (m_retranslateUiData.policy == ItemData::GenerateWithMultiDirective)
2766 generateMultiDirectiveEnd(m_retranslateUiStream, m_retranslateUiData.directives);
2770 while (
it != m_retranslateUiData.setters.constEnd()) {
2772 if (oldDirective != newDirective) {
2777 oldDirective = newDirective;
2785 for (
int i = 0;
i < m_children.size();
i++) {
2788 m_children[
i]->writeRetranslateUi(
method);
2792 void WriteInitialization::Item::addSetter(
const QString &setter,
const QString &directive,
bool translatable)
2794 const ItemData::TemporaryVariableGeneratorPolicy newPolicy = directive.
isNull() ? ItemData::Generate : ItemData::GenerateWithMultiDirective;
2796 m_retranslateUiData.setters.insert(directive, setter);
2797 if (ItemData::GenerateWithMultiDirective == newPolicy)
2798 m_retranslateUiData.directives << directive;
2799 if (m_retranslateUiData.policy < newPolicy)
2800 m_retranslateUiData.policy = newPolicy;
2802 m_setupUiData.setters.
insert(directive, setter);
2803 if (ItemData::GenerateWithMultiDirective == newPolicy)
2804 m_setupUiData.directives << directive;
2805 if (m_setupUiData.policy < newPolicy)
2806 m_setupUiData.policy = newPolicy;
2810 void WriteInitialization::Item::addChild(
Item *
child)
2812 m_children <<
child;
2813 child->m_parent =
this;
2818 p->m_setupUiData.directives |=
c->m_setupUiData.directives;
2819 p->m_retranslateUiData.directives |=
c->m_retranslateUiData.directives;
2820 if (
p->m_setupUiData.policy <
c->m_setupUiData.policy)
2821 p->m_setupUiData.policy =
c->m_setupUiData.policy;
2822 if (
p->m_retranslateUiData.policy <
c->m_retranslateUiData.policy)
2823 p->m_retranslateUiData.policy =
c->m_retranslateUiData.policy;
small capitals from c petite p scientific f u
small capitals from c petite p scientific i
[1]
FontHandle(const DomFont *domFont)
int compare(const FontHandle &) const
int compare(const IconHandle &) const
IconHandle(const DomResourceIcon *domIcon)
SizePolicyHandle(const DomSizePolicy *domSizePolicy)
int compare(const SizePolicyHandle &) const
QStringList connections() const
QList< DomColorRole * > elementColorRole() const
QList< DomColor * > elementColor() const
int elementMinute() const
int elementSecond() const
bool hasElementStrikeOut() const
bool hasElementItalic() const
bool elementKerning() const
bool elementUnderline() const
bool hasElementStyleStrategy() const
QString elementStyleStrategy() const
int elementPointSize() const
bool hasElementFamily() const
QString elementFamily() const
bool hasElementAntialiasing() const
bool hasElementUnderline() const
bool elementAntialiasing() const
int elementWeight() const
bool elementStrikeOut() const
bool hasElementKerning() const
bool elementItalic() const
bool hasElementPointSize() const
bool hasElementBold() const
bool hasElementWeight() const
QList< DomGradientStop * > elementGradientStop() const
QString attributeSpread() const
QString attributeType() const
double attributeCentralX() const
double attributeFocalY() const
double attributeEndY() const
double attributeFocalX() const
double attributeAngle() const
double attributeStartY() const
double attributeRadius() const
double attributeStartX() const
bool hasAttributeCoordinateMode() const
double attributeEndX() const
QString attributeCoordinateMode() const
double attributeCentralY() const
QList< DomProperty * > elementProperty() const
QList< DomItem * > elementItem() const
QString attributeCountry() const
QString attributeLanguage() const
DomColorGroup * elementInactive() const
DomColorGroup * elementDisabled() const
DomColorGroup * elementActive() const
QString elementEnum() const
DomString * elementString() const
int elementNumber() const
double elementWidth() const
double elementHeight() const
bool hasElementSelectedOn() const
bool hasElementActiveOff() const
DomResourcePixmap * elementDisabledOn() const
bool hasElementDisabledOn() const
DomResourcePixmap * elementActiveOff() const
QString attributeTheme() const
DomResourcePixmap * elementSelectedOn() const
bool hasElementSelectedOff() const
bool hasElementDisabledOff() const
bool hasElementNormalOff() const
DomResourcePixmap * elementSelectedOff() const
DomResourcePixmap * elementNormalOff() const
DomResourcePixmap * elementActiveOn() const
DomResourcePixmap * elementDisabledOff() const
bool hasElementNormalOn() const
bool hasElementActiveOn() const
DomResourcePixmap * elementNormalOn() const
double elementWidth() const
double elementHeight() const
QString attributeVSizeType() const
int elementHSizeType() const
int elementVerStretch() const
bool hasElementHSizeType() const
bool hasElementVerStretch() const
int elementVSizeType() const
bool hasElementVSizeType() const
bool hasAttributeHSizeType() const
int elementHorStretch() const
bool hasElementHorStretch() const
QString attributeHSizeType() const
bool hasAttributeVSizeType() const
QStringList elementTabStop() const
const DomAction * actionByName(const QString &attributeName) const
QString widgetVariableName(const QString &attributeName) const
const DomActionGroup * actionGroupByName(const QString &attributeName) const
QString unique(const QString &instanceName=QString(), const QString &className=QString())
QString findOrInsertButtonGroup(const DomButtonGroup *ui_group)
bool useIdBasedTranslations() const
QString findOrInsertWidget(const DomWidget *ui_widget)
const DomWidget * widgetByName(const QString &attributeName) const
QString findOrInsertActionGroup(const DomActionGroup *ui_group)
static QString headerFileName(const QString &fileName)
QString findOrInsertLayoutItem(const DomLayoutItem *ui_layoutItem)
const DomButtonGroup * findButtonGroup(const QString &attributeName) const
QString findOrInsertAction(const DomAction *ui_action)
QString findOrInsertLayout(const DomLayout *ui_layout)
QString findOrInsertSpacer(const DomSpacer *ui_spacer)
The QChar class provides a 16-bit Unicode character.
QChar toUpper() const noexcept
The QHash class is a template class that provides a hash-table-based dictionary.
const_iterator constFind(const Key &key) const noexcept
const_iterator constEnd() const noexcept
T value(const Key &key) const noexcept
friend class const_iterator
iterator insert(const Key &key, const T &value)
The QIODevice class is the base interface class of all I/O devices in Qt.
The QLatin1String class provides a thin wrapper around an US-ASCII/Latin-1 encoded string literal.
qsizetype size() const noexcept
bool isEmpty() const noexcept
bool empty() const noexcept
const_reference at(qsizetype i) const noexcept
qsizetype count() const noexcept
void reserve(qsizetype size)
void append(parameter_type t)
iterator insert(const Key &key, const T &value)
const_iterator constFind(const Key &key) const
const_iterator constEnd() const
QList< T > values() const
bool contains(const T &value) const
const_iterator cbegin() const noexcept
iterator insert(const T &value)
The QString class provides a Unicode character string.
QByteArray toLatin1() const &
QString & prepend(QChar c)
bool startsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
QString & replace(qsizetype i, qsizetype len, QChar after)
static QString fromLatin1(QByteArrayView ba)
static QString fromUtf8(QByteArrayView utf8)
QString mid(qsizetype position, qsizetype n=-1) const
const QChar at(qsizetype i) const
bool endsWith(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
int compare(const QString &s, Qt::CaseSensitivity cs=Qt::CaseSensitive) const noexcept
QString & insert(qsizetype i, QChar c)
QString arg(qlonglong a, int fieldwidth=0, int base=10, QChar fillChar=QLatin1Char(' ')) const
bool contains(QChar c, Qt::CaseSensitivity cs=Qt::CaseSensitive) const
static QString number(int, int base=10)
QString & remove(qsizetype i, qsizetype len)
The QStringList class provides a list of strings.
The QStringView class provides a unified view on UTF-16 strings with a read-only subset of the QStrin...
constexpr QStringView mid(qsizetype pos, qsizetype n=-1) const noexcept
The QTextStream class provides a convenient interface for reading and writing text.
The QVersionNumber class contains a version number with an arbitrary number of segments.
bool isNull() const noexcept
int minorVersion() const noexcept
int majorVersion() const noexcept
int microVersion() const noexcept
bool isButton(const QString &className) const
QString pixmapFunction() const
const DatabaseInfo * databaseInfo() const
bool isMenu(const QString &className) const
bool isContainer(const QString &className) const
const CustomWidgetsInfo * customWidgetsInfo() const
QMap< QString, QString > map
[6]
type name READ getFunction WRITE setFunction
[0]
qDeleteAll(list.begin(), list.end())
typename C::const_iterator const_iterator
void toString(QString &appendTo, IPv4Address address)
QString uniqueName(const QString &key, const QStyleOption *option, const QSize &size)
void writeSetter(const QString &indent, const QString &varName, const QString &setter, Value v, QTextStream &str)
QString toolBarAreaStringFromDOMAttributes(const CPP::WriteInitialization::DomPropertyMap &attributes)
void writeSpacerItem(const DomSpacer *node, QTextStream &output)
int compareInt(int i1, int i2)
Q_DECL_CONST_FUNCTION Q_CORE_EXPORT const Properties *QT_FASTCALL properties(char32_t ucs4) noexcept
QTextStream & endl(QTextStream &stream)
QString enumValue(const QString &value)
const char * toolbarArea(int v)
_string< false > charliteral
const char * dockWidgetArea(int v)
_stackVariable< true > stackVariableWithInitParameters
const char * sizePolicy(int v)
QString fixClassName(QString className)
const char * paletteColorRole(int v)
void formatConnection(QTextStream &str, const SignalSlot &sender, const SignalSlot &receiver, ConnectionSyntax connectionSyntax)
_stackVariable< false > stackVariable
QString boolValue(bool v)
DBusConnection * connection
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char * method
EGLOutputLayerEXT EGLint EGLAttrib value
GLenum GLuint GLenum GLsizei const GLchar * message
GLenum GLsizei GLsizei GLint * values
[16]
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLfloat GLfloat GLfloat w
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLdouble GLdouble GLdouble GLdouble top
GLenum GLenum GLsizei count
GLuint GLuint GLfloat weight
GLenum const void * fontName
GLfloat GLfloat GLfloat GLfloat h
GLenum GLenum GLsizei void GLsizei void * column
GLenum GLenum GLsizei void * row
#define QStringLiteral(str)
const char className[16]
[1]
void acceptCustomWidgets(DomCustomWidgets *node) override
void acceptActionGroup(DomActionGroup *node) override
void acceptSpacer(DomSpacer *node) override
void acceptLayoutItem(DomLayoutItem *node) override
void acceptTabStops(DomTabStops *tabStops) override
void acceptUI(DomUI *node) override
QList< DomProperty * > DomPropertyList
void acceptLayoutDefault(DomLayoutDefault *node) override
void acceptLayout(DomLayout *node) override
void acceptAction(DomAction *node) override
void acceptCustomWidget(DomCustomWidget *node) override
void acceptLayoutFunction(DomLayoutFunction *node) override
void acceptActionRef(DomActionRef *node) override
WriteInitialization(Uic *uic)
void acceptConnection(DomConnection *connection) override
QHash< QString, DomProperty * > DomPropertyMap
void acceptWidget(DomWidget *node) override
unsigned int forceMemberFnPtrConnectionSyntax
unsigned int forceStringConnectionSyntax
QString messagePrefix() const
QString translateFunction
unsigned int generateImplemetation
unsigned int autoConnection
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
virtual void acceptActionGroup(DomActionGroup *actionGroup)
virtual void acceptLayoutItem(DomLayoutItem *layoutItem)
virtual void acceptCustomWidgets(DomCustomWidgets *customWidgets)
virtual void acceptWidget(DomWidget *widget)
virtual void acceptConnections(DomConnections *connections)
virtual void acceptLayout(DomLayout *layout)
FT_UInt FT_UInt FT_Vector * kerning
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
XmlOutput::xml_output comment(const QString &text)