/** * \en * Addes to tag value of parametr \a tagName * \_en * \ru * Добавляет к тегу значение параметра \a tagName. После вызова этой функции тег не исчезает, * и к нему можно добавить еще значения, которые добавятся к концу текста, содержащего тег. * \_ru * \param node - \en context \_en \ru узел к которому добавляется значение \_ru * \param sname - \en tag name \_en \ru имя тега \_ru */ void aMSOTemplate::insertTagsValues(QDomNode node, const QString &tagName) { QDomNode n = node; //old vers. //n.setNodeValue(n.nodeValue()+getValue(tagName)); QString s = n.nodeValue(), tag = QString("%1%2%3").arg(open_token).arg(tagName).arg(close_token); s.replace(tag, QString("%1%2").arg(tag).arg(getValue(tagName))); n.setNodeValue(s); }
void UiConverter::fixEnumNode(QDomElement el, QDomDocument *) { QDomNode valueNode = el.firstChild(); if (valueNode.isNull()) { ReportHandler::warning(QString::fromLatin1("Bad enum value at '%1'").arg(el.nodeValue())); return; } QString cppEnumValue = valueNode.nodeValue(); QString javaEnumValue = translateEnumValue(cppEnumValue); valueNode.setNodeValue(javaEnumValue); }
void SvgView::updateField(QDomNode &e, QString tag, QString value) { if ( e.nodeType() == QDomNode::TextNode) { if (e.nodeValue() == tag) e.setNodeValue(value); } else { for(QDomNode n = e.firstChild(); !n.isNull(); n = n.nextSibling()) updateField(n, tag, value); } }
void UiConverter::fixConnectionNode(QDomElement el, QDomDocument *) { QString senderName = el.namedItem("sender").firstChild().nodeValue(); AbstractMetaClass *senderClass = m_named_widgets[senderName]; if (!senderClass) { ReportHandler::warning(QString::fromLatin1("sender unknown '%1'").arg(senderName)); return; } QDomNode signalSignatureNode = el.namedItem("signal").toElement().firstChild(); QString signalSignature = signalSignatureNode.nodeValue(); const AbstractMetaFunction *signalFunction = findFunction(senderClass, signalSignature, SignalSearch); if (!signalFunction) { ReportHandler::warning(QString::fromLatin1("Signal not found '%1' in '%2'") .arg(signalSignature).arg(senderClass->qualifiedCppName())); return; } signalSignatureNode.setNodeValue(signalFunction->modifiedName()); QString receiverName = el.namedItem("receiver").firstChild().nodeValue(); AbstractMetaClass *receiverClass = m_named_widgets[receiverName]; if (!receiverClass) { ReportHandler::warning(QString::fromLatin1("receiver unknown '%1'").arg(receiverName)); return; } QDomNode slotSignatureNode = el.namedItem("slot").firstChild(); QString slotSignature = slotSignatureNode.nodeValue(); const AbstractMetaFunction *slotFunction = findFunction(receiverClass, slotSignature, SlotSearch); if (!signalFunction) { ReportHandler::warning(QString::fromLatin1("Slot not found '%1' in '%2'") .arg(slotSignature).arg(receiverClass->qualifiedCppName())); return; } slotSignatureNode.setNodeValue(slotFunction->targetLangSignature(true)); }
/** * \en * Deletes tags from \a node * \_en * \ru * Удаляет рекурсивно теги из \a node. * \_ru * \param node - \en context \_en \ru узел из которого нужно удалить теги \_ru * \param section - \ru true, если надо удалить тег секции \_ru */ void aMSOTemplate::clearTags(QDomNode node, bool section ) { if(node.isNull()) return; QDomNode n = node.lastChild(); while( !n.isNull() ) { if(n.isText()) { QString str = n.nodeValue(); QRegExp re; if(section) { re.setPattern(QString("%1.*%2").arg(open_token_section).arg(close_token_section)); } else { re.setPattern(QString("%1.*%2").arg(open_token).arg(close_token)); } re.setMinimal(true); int pos = re.search(str,0); while(pos != -1) { str = str.remove(re); pos = re.search(str,0); } n.setNodeValue(str); } else { clearTags(n,section); } n = n.previousSibling(); } }
void QDomNodeProto:: setNodeValue(const QString&value) { QDomNode *item = qscriptvalue_cast<QDomNode*>(thisObject()); if (item) item->setNodeValue(value); }