⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cppwriteinitialization.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 5 页
字号:
            if (p->kind() == DomProperty::String                    && (!p->elementString()->hasAttributeNotr() || !toBool(p->elementString()->attributeNotr())))                o = &m_refreshOut;#ifdef QT_NO_TOOLTIP            if (propertyName == QLatin1String("toolTip"))                continue;#endif // QT_NO_TOOLTIP#ifdef QT_NO_WHATSTHIS            if (propertyName == QLatin1String("whatsThis"))                continue;#endif // QT_NO_WHATSTHIS#ifdef QT_NO_STATUSTIP            if (propertyName == QLatin1String("statusTip"))                continue;#endif // QT_NO_WHATSTHIS            (*o) << m_option.indent << varNewName << setFunction << propertyValue;            if (!stdset)                (*o) << ')';            (*o) << ");\n";        }    }    if (leftMargin != -1 || topMargin != -1 || rightMargin != -1 || bottomMargin != -1) {        QString objectName = varName;        if (m_widgetChain.top()) {            const QString parentWidget = m_widgetChain.top()->attributeClass();            if (!m_layoutChain.top() && (m_uic->customWidgetsInfo()->extends(parentWidget, QLatin1String("Q3GroupBox"))                        || m_uic->customWidgetsInfo()->extends(parentWidget, QLatin1String("Q3ButtonGroup")))) {                objectName = m_driver->findOrInsertWidget(m_widgetChain.top()) + QLatin1String("->layout()");            }        }        m_output << m_option.indent << objectName << QLatin1String("->setContentsMargins(")                << QString::number(leftMargin) << QLatin1String(", ")                << QString::number(topMargin) << QLatin1String(", ")                << QString::number(rightMargin) << QLatin1String(", ")                << QString::number(bottomMargin) << QLatin1String(");\n");    }}QString  WriteInitialization::writeSizePolicy(const DomSizePolicy *sp){    // check cache    const SizePolicyHandle sizePolicyHandle(sp);    const SizePolicyNameMap::const_iterator it = m_SizePolicyNameMap.constFind(sizePolicyHandle);    if ( it != m_SizePolicyNameMap.constEnd()) {        return it.value();    }    // insert with new name    const QString spName = m_driver->unique(QLatin1String("sizePolicy"));    m_SizePolicyNameMap.insert(sizePolicyHandle, spName);    m_output << m_option.indent << "QSizePolicy " << spName;    do {        if (sp->hasElementHSizeType() && sp->hasElementVSizeType()) {            m_output << "(static_cast<QSizePolicy::Policy>(" << sp->elementHSizeType()                << "), static_cast<QSizePolicy::Policy>(" << sp->elementVSizeType() << "));\n";            break;        }        if (sp->hasAttributeHSizeType() && sp->hasAttributeVSizeType()) {                m_output << "(QSizePolicy::" << sp->attributeHSizeType() << ", QSizePolicy::"                << sp->attributeVSizeType() << ");\n";            break;        }        m_output << ";\n";    } while (false);    m_output << m_option.indent << spName << ".setHorizontalStretch("        << sp->elementHorStretch() << ");\n";    m_output << m_option.indent << spName << ".setVerticalStretch("        << sp->elementVerStretch() << ");\n";    return spName;}// Check for a font with the given properties in the FontPropertiesNameMap// or create a new one. Returns the name.QString WriteInitialization::writeFontProperties(const DomFont *f){    // check cache    const FontHandle fontHandle(f);    const FontPropertiesNameMap::const_iterator it = m_FontPropertiesNameMap.constFind(fontHandle);    if ( it != m_FontPropertiesNameMap.constEnd()) {        return it.value();    }    // insert with new name    const QString fontName = m_driver->unique(QLatin1String("font"));    m_FontPropertiesNameMap.insert(FontHandle(f), fontName);    m_output << m_option.indent << "QFont " << fontName << ";\n";    if (f->hasElementFamily() && !f->elementFamily().isEmpty()) {        m_output << m_option.indent << fontName << ".setFamily(QString::fromUtf8(" << fixString(f->elementFamily(), m_option.indent)            << "));\n";    }    if (f->hasElementPointSize() && f->elementPointSize() > 0) {         m_output << m_option.indent << fontName << ".setPointSize(" << f->elementPointSize()             << ");\n";    }    if (f->hasElementBold()) {        m_output << m_option.indent << fontName << ".setBold("            << (f->elementBold() ? "true" : "false") << ");\n";    }    if (f->hasElementItalic()) {        m_output << m_option.indent << fontName << ".setItalic("            <<  (f->elementItalic() ? "true" : "false") << ");\n";    }    if (f->hasElementUnderline()) {        m_output << m_option.indent << fontName << ".setUnderline("            << (f->elementUnderline() ? "true" : "false") << ");\n";    }    if (f->hasElementWeight() && f->elementWeight() > 0) {        m_output << m_option.indent << fontName << ".setWeight("            << f->elementWeight() << ");" << endl;    }    if (f->hasElementStrikeOut()) {         m_output << m_option.indent << fontName << ".setStrikeOut("            << (f->elementStrikeOut() ? "true" : "false") << ");\n";    }    if (f->hasElementKerning()) {        m_output << m_option.indent << fontName << ".setKerning("            << (f->elementKerning() ? "true" : "false") << ");\n";    }    if (f->hasElementAntialiasing()) {        m_output << m_option.indent << fontName << ".setStyleStrategy("            << (f->elementAntialiasing() ? "QFont::PreferDefault" : "QFont::NoAntialias") << ");\n";    }    if (f->hasElementStyleStrategy()) {         m_output << m_option.indent << fontName << ".setStyleStrategy(QFont::"            << f->elementStyleStrategy() << ");\n";    }    return  fontName;}QString WriteInitialization::domColor2QString(const DomColor *c){    if (c->hasAttributeAlpha())        return QString::fromLatin1("QColor(%1, %2, %3, %4)")            .arg(c->elementRed())            .arg(c->elementGreen())            .arg(c->elementBlue())            .arg(c->attributeAlpha());    return QString::fromLatin1("QColor(%1, %2, %3)")        .arg(c->elementRed())        .arg(c->elementGreen())        .arg(c->elementBlue());}void WriteInitialization::writeColorGroup(DomColorGroup *colorGroup, const QString &group, const QString &paletteName){    if (!colorGroup)        return;    // old format    const QList<DomColor*> colors = colorGroup->elementColor();    for (int i=0; i<colors.size(); ++i) {        const DomColor *color = colors.at(i);        m_output << m_option.indent << paletteName << ".setColor(" << group            << ", " << "static_cast<QPalette::ColorRole>(" << QString::number(i) << ')'            << ", " << domColor2QString(color)            << ");\n";    }    // new format    const QList<DomColorRole *> colorRoles = colorGroup->elementColorRole();    QListIterator<DomColorRole *> itRole(colorRoles);    while (itRole.hasNext()) {        const DomColorRole *colorRole = itRole.next();        if (colorRole->hasAttributeRole()) {            DomBrush *brush = colorRole->elementBrush();            QString brushName;            if (!brush->hasAttributeBrushStyle() || brush->attributeBrushStyle() == QLatin1String("SolidPattern")) {                const DomColor *color = brush->elementColor();                if (color) {                    uint c = ((color->elementRed() & 0xFF) << 24) |                        ((color->elementGreen() & 0xFF) << 16) |                        ((color->elementBlue() & 0xFF) << 8) |                        ((color->attributeAlpha() & 0xFF));                    if (m_colorBrushHash.contains(c)) {                        brushName = m_colorBrushHash.value(c);                    } else {                        brushName = m_driver->unique(QLatin1String("brush"));                        writeBrush(colorRole->elementBrush(), brushName);                        m_colorBrushHash[c] = brushName;                    }                }            }            if (brushName.isEmpty()) {                brushName = m_driver->unique(QLatin1String("brush"));                writeBrush(colorRole->elementBrush(), brushName);            }            m_output << m_option.indent << paletteName << ".setBrush(" << group                << ", " << "QPalette::" << colorRole->attributeRole()                << ", " << brushName << ");\n";        }    }}void WriteInitialization::writeBrush(DomBrush *brush, const QString &brushName){    QString style = QLatin1String("SolidPattern");    if (brush->hasAttributeBrushStyle())        style = brush->attributeBrushStyle();    if (style == QLatin1String("LinearGradientPattern") ||            style == QLatin1String("RadialGradientPattern") ||            style == QLatin1String("ConicalGradientPattern")) {        const DomGradient *gradient = brush->elementGradient();        const QString gradientType = gradient->attributeType();        const QString gradientName = m_driver->unique(QLatin1String("gradient"));        if (gradientType == QLatin1String("LinearGradient")) {            m_output << m_option.indent << "QLinearGradient " << gradientName                << '(' << gradient->attributeStartX()                << ", " << gradient->attributeStartY()                << ", " << gradient->attributeEndX()                << ", " << gradient->attributeEndY() << ");\n";        } else if (gradientType == QLatin1String("RadialGradient")) {            m_output << m_option.indent << "QRadialGradient " << gradientName                << '(' << gradient->attributeCentralX()                << ", " << gradient->attributeCentralY()                << ", " << gradient->attributeRadius()                << ", " << gradient->attributeFocalX()                << ", " << gradient->attributeFocalY() << ");\n";        } else if (gradientType == QLatin1String("ConicalGradient")) {            m_output << m_option.indent << "QConicalGradient " << gradientName                << '(' << gradient->attributeCentralX()                << ", " << gradient->attributeCentralY()                << ", " << gradient->attributeAngle() << ");\n";        }        m_output << m_option.indent << gradientName << ".setSpread(QGradient::"            << gradient->attributeSpread() << ");\n";        if (gradient->hasAttributeCoordinateMode()) {            m_output << m_option.indent << gradientName << ".setCoordinateMode(QGradient::"                << gradient->attributeCoordinateMode() << ");\n";        }       const  QList<DomGradientStop *> stops = gradient->elementGradientStop();        QListIterator<DomGradientStop *> it(stops);        while (it.hasNext()) {            const DomGradientStop *stop = it.next();            const DomColor *color = stop->elementColor();            m_output << m_option.indent << gradientName << ".setColorAt("                << stop->attributePosition() << ", "                << domColor2QString(color) << ");\n";        }        m_output << m_option.indent << "QBrush " << brushName << '('            << gradientName << ");\n";    } else if (style == QLatin1String("TexturePattern")) {        const DomProperty *property = brush->elementTexture();        m_output << m_option.indent << "QBrush " << brushName << " = QBrush("            << pixCall(property) << ");\n";    } else {        const DomColor *color = brush->elementColor();        m_output << m_option.indent << "QBrush " << brushName << '('            << domColor2QString(color) << ");\n";        m_output << m_option.indent << brushName << ".setStyle("            << "Qt::" << style << ");\n";    }}void WriteInitialization::acceptCustomWidget(DomCustomWidget *node){    Q_UNUSED(node);}void WriteInitialization::acceptCustomWidgets(DomCustomWidgets *node){    Q_UNUSED(node);}void WriteInitialization::acceptTabStops(DomTabStops *tabStops){    QString lastName;    const QStringList l = tabStops->elementTabStop();    for (int i=0; i<l.size(); ++i) {        const QString name = l.at(i);        if (!m_registeredWidgets.contains(name)) {            fprintf(stderr, "'%s' isn't a valid widget\n", name.toLatin1().data());            continue;        }        if (i == 0) {            lastName = name;            continue;        } else if (name.isEmpty() || lastName.isEmpty()) {            continue;        }        m_output << m_option.indent << "QWidget::setTabOrder

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -