本文整理汇总了C++中QDomNode::isText方法的典型用法代码示例。如果您正苦于以下问题:C++ QDomNode::isText方法的具体用法?C++ QDomNode::isText怎么用?C++ QDomNode::isText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDomNode
的用法示例。
在下文中一共展示了QDomNode::isText方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: goc_addXMLObject
// Add an object to this space from a dom element
void GOCXMLSpace::goc_addXMLObject(QDomElement xmlObjectElem){
//Create an XMLObject from the dom element - in this XMLSpace
GOCXMLObject *xmlObj = new GOCXMLObject(xmlObjectElem,this);
QDomNode nObjNode = xmlObjectElem.firstChild();
if(!nObjNode.isNull() && !nObjNode.isText()){//TODO: manage the text case and comments
//Create a sub space of the object - if it has child(ren)
xmlObj->goc_setXMLObjectSubbed(true);
}
GOCXMLSpace *xmlObjSubSpace = xmlObj->goc_getXMLObjectSpace();
while(!nObjNode.isNull()) {
QDomElement e = nObjNode.toElement(); // try to convert the node to an element.
if(!nObjNode.isText()){
//Add a new object
xmlObjSubSpace->goc_addXMLObject(e);
}else{
//Update the node value
QString sNodeValue = nObjNode.nodeValue();
QVariant vNodeValue = QVariant(sNodeValue);
GOCAttribute *gocAtt = new GOCAttribute(xmlObj);
QSharedPointer<GOCAttribute> spAtt(gocAtt);
spAtt->attName = GOCOBJECT_OBJECTNODEVALUE;
spAtt->attValue = vNodeValue;
spAtt->attVisible = true;
spAtt->attRemovable = false;
xmlObj->goc_setObjectNodeValue(sNodeValue);
spAtt->attNameModifiable = false;
}
nObjNode = nObjNode.nextSibling();
}
}
示例2:
/**
* \en
* Deletes row, having section tag
* \_en
* \ru
* Рекурсивная функция. Удаляет строки, содержащие тег секции
* \_ru
* \param node - \en context \_en \ru узел из которого нужно удалить строки \_ru
*/
void
aMSOTemplate::clearRow(QDomNode node)
{
QDomNode n = node.lastChild();
while( !n.isNull() )
{
if(n.isText())
{
QString str = n.nodeValue();
QRegExp re;
re.setPattern(QString("%1.*%2").arg(open_token_section).arg(close_token_section));
re.setMinimal(true);
int pos = re.search(str,0);
if(pos!=-1)
{
QDomNode tmp = n;
while(!tmp.parentNode().isNull())
{
tmp = tmp.parentNode();
if( tmp.nodeName()=="Row" )
{
tmp.parentNode().removeChild(tmp);
break;
}
}
}
}
else
{
clearRow(n);
}
n = n.previousSibling();
}
}
示例3: printTree
void Configure::printTree(QDomElement element,QString indent) {
QDomNode n = element.firstChild();
if(n.isText()) {
qDebug()<<element.tagName()<<":"<<n.nodeValue();
widget.textEditConfiguration->append(indent+element.tagName()+": "+n.nodeValue());
// save interesting information
if(element.tagName()=="type") {
serverType=n.nodeValue();
} else if(element.tagName()=="samplerate") {
sampleRate=n.nodeValue().toInt();
} else if(element.tagName()=="minfrequency") {
minFrequency=n.nodeValue().toLong();
} else if(element.tagName()=="maxfrequency") {
maxFrequency=n.nodeValue().toLong();
}
} else {
qDebug()<<element.tagName();
widget.textEditConfiguration->append(indent+element.tagName());
while(!n.isNull()) {
QDomElement e = n.toElement(); // try to convert the node to an element.
if(!e.isNull()) {
if(e.hasAttributes()) {
QDomNamedNodeMap attributes=e.attributes();
qDebug()<<"attributes:"<<attributes.count();
for(int i=0;i<attributes.count();i++) {
QDomNode a=attributes.item(i);
qDebug()<<"attribute: "<<a.nodeName()<<":"<<a.nodeValue();
}
}
printTree(e,indent+" ");
}
n = n.nextSibling();
}
}
}
示例4: helperToXmlAddDomElement
static void helperToXmlAddDomElement(QXmlStreamWriter* stream, const QDomElement& element, const QStringList &omitNamespaces)
{
stream->writeStartElement(element.tagName());
/* attributes */
QString xmlns = element.namespaceURI();
if (!xmlns.isEmpty() && !omitNamespaces.contains(xmlns))
stream->writeAttribute("xmlns", xmlns);
QDomNamedNodeMap attrs = element.attributes();
for (int i = 0; i < attrs.size(); i++)
{
QDomAttr attr = attrs.item(i).toAttr();
stream->writeAttribute(attr.name(), attr.value());
}
/* children */
QDomNode childNode = element.firstChild();
while (!childNode.isNull())
{
if (childNode.isElement())
{
helperToXmlAddDomElement(stream, childNode.toElement(), QStringList() << xmlns);
} else if (childNode.isText()) {
stream->writeCharacters(childNode.toText().data());
}
childNode = childNode.nextSibling();
}
stream->writeEndElement();
}
示例5: isText
bool QDomNodeProto:: isText() const
{
QDomNode *item = qscriptvalue_cast<QDomNode*>(thisObject());
if (item)
return item->isText();
return false;
}
示例6: convertHeader
bool Converter::convertHeader( QTextCursor *cursor, const QDomElement &element )
{
const QString styleName = element.attribute( QStringLiteral("style-name") );
const StyleFormatProperty property = mStyleInformation->styleProperty( styleName );
QTextBlockFormat blockFormat;
QTextCharFormat textFormat;
property.applyBlock( &blockFormat );
property.applyText( &textFormat );
cursor->setBlockFormat( blockFormat );
QDomNode child = element.firstChild();
while ( !child.isNull() ) {
if ( child.isElement() ) {
const QDomElement childElement = child.toElement();
if ( childElement.tagName() == QLatin1String( "span" ) ) {
if ( !convertSpan( cursor, childElement, textFormat ) )
return false;
}
} else if ( child.isText() ) {
const QDomText childText = child.toText();
if ( !convertTextNode( cursor, childText, textFormat ) )
return false;
}
child = child.nextSibling();
}
emit addTitle( element.attribute( QStringLiteral("outline-level"), QStringLiteral("0") ).toInt(), element.text(), cursor->block() );
return true;
}
示例7: convertLink
bool Converter::convertLink(QTextCursor *cursor, const QDomElement &element, const QTextCharFormat &format)
{
int startPosition = cursor->position();
QDomNode child = element.firstChild();
while (!child.isNull())
{
if (child.isElement())
{
const QDomElement childElement = child.toElement();
if (childElement.tagName() == QLatin1String("span"))
{
if (!convertSpan(cursor, childElement, format))
return false;
}
}
else if (child.isText())
{
const QDomText childText = child.toText();
if (!convertTextNode(cursor, childText, format))
return false;
}
child = child.nextSibling();
}
int endPosition = cursor->position();
USETODONEXT(endPosition);
USETODONEXT(startPosition);
return true;
}
示例8: convertLink
bool Converter::convertLink( QTextCursor *cursor, const QDomElement &element, const QTextCharFormat &format )
{
int startPosition = cursor->position();
QDomNode child = element.firstChild();
while ( !child.isNull() ) {
if ( child.isElement() ) {
const QDomElement childElement = child.toElement();
if ( childElement.tagName() == QLatin1String( "span" ) ) {
if ( !convertSpan( cursor, childElement, format ) )
return false;
}
} else if ( child.isText() ) {
const QDomText childText = child.toText();
if ( !convertTextNode( cursor, childText, format ) )
return false;
}
child = child.nextSibling();
}
int endPosition = cursor->position();
Okular::Action *action = new Okular::BrowseAction( QUrl(element.attribute( QStringLiteral("href") )) );
emit addAction( action, startPosition, endPosition );
return true;
}
示例9: _getTitle
/**
Get the project title
XML in file has this form:
\verbatim
<qgis projectname="default project">
<title>a project title</title>
\endverbatim
@todo XXX we should go with the attribute xor title, not both.
*/
static void _getTitle( QDomDocument const &doc, QString & title )
{
QDomNodeList nl = doc.elementsByTagName( "title" );
title = ""; // by default the title will be empty
if ( !nl.count() )
{
QgsDebugMsg( "unable to find title element" );
return;
}
QDomNode titleNode = nl.item( 0 ); // there should only be one, so zeroth element ok
if ( !titleNode.hasChildNodes() ) // if not, then there's no actual text
{
QgsDebugMsg( "unable to find title element" );
return;
}
QDomNode titleTextNode = titleNode.firstChild(); // should only have one child
if ( !titleTextNode.isText() )
{
QgsDebugMsg( "unable to find title element" );
return;
}
QDomText titleText = titleTextNode.toText();
title = titleText.data();
} // _getTitle
示例10: extractTextFromParagraph
QString ExampleContent::extractTextFromParagraph(const QDomNode &parentNode)
{
QString description;
QDomNode node = parentNode.firstChild();
while (!node.isNull()) {
QString beginTag;
QString endTag;
if (node.isText())
description += Colors::contentColor + node.nodeValue();
else if (node.hasChildNodes()) {
if (node.nodeName() == "b") {
beginTag = "<b>";
endTag = "</b>";
} else if (node.nodeName() == "a") {
beginTag = Colors::contentColor;
endTag = "</font>";
} else if (node.nodeName() == "i") {
beginTag = "<i>";
endTag = "</i>";
} else if (node.nodeName() == "tt") {
beginTag = "<tt>";
endTag = "</tt>";
}
description += beginTag + this->extractTextFromParagraph(node) + endTag;
}
node = node.nextSibling();
}
return description;
}
示例11: nodeToVariant
//! function
static bool nodeToVariant(const QDomNode &aNode,QVariant &aValue) {
bool vRetval = false;
QString vType, vValue;
aValue = QVariant();
if(!vRetval && aNode.isCDATASection()) {
vValue = aNode.toCDATASection().data();
vRetval = true;
}
if(!vRetval && aNode.isText()) {
vValue = aNode.toText().data();
vRetval = true;
}
if(!vRetval) return vRetval;
if(vValue.isEmpty()) return false; // ????
const QDomNode vParent = aNode.parentNode();
if(vParent.isElement()) {
vType = vParent.toElement().attribute(QString::fromLatin1("type"));
}
if(vType == QString::fromLatin1("bytearray")) {
aValue = QVariant(vValue.toLatin1());
}
else if(vType == QString::fromLatin1("variant")) {
QByteArray vArray(vValue.toLatin1());
QDataStream vStream(&vArray, QIODevice::ReadOnly);
vStream >> aValue;
}
示例12: findDomNodeScan
/**
* @brief XmlEditWidgetPrivate::findDomNodeScan find the nearest match to a position
* @param node
* @param nodeTarget
* @param lineSearched
* @param columnSearched
* @param lastKnownNode: last known "good" position
* @return
*/
bool XmlEditWidgetPrivate::findDomNodeScan(QDomNode node, QDomNode nodeTarget, const int lineSearched, const int columnSearched, FindNodeWithLocationInfo &info)
{
int row = node.lineNumber();
int col = node.columnNumber();
if(!node.isDocument()) {
if((lineSearched == row) && (columnSearched == col)) {
info.matchedNode = nodeTarget ;
return true ;
}
if((lineSearched == row) && (columnSearched == col)) {
info.matchedNode = nodeTarget ;
return true ;
}
if((lineSearched == row) && (columnSearched < col)) {
info.matchedNode = nodeTarget ;
return true ;
}
if((lineSearched < row)) {
info.matchedNode = nodeTarget ;
return true ;
}
if((lineSearched <= row)) {
info.lastKnownNode = nodeTarget ;
}
if(node.nodeType() == QDomNode::ElementNode) {
QDomElement element = node.toElement();
QDomNamedNodeMap attributes = element.attributes();
int numAttrs = attributes.length();
for(int i = 0 ; i < numAttrs ; i++) {
QDomNode node = attributes.item(i);
QDomAttr attr = node.toAttr();
if(findDomNodeScan(attr, nodeTarget, lineSearched, columnSearched, info)) {
return true;
}
} // for
}
}
int nodes = node.childNodes().count();
for(int i = 0 ; i < nodes ; i ++) {
QDomNode childNode = node.childNodes().item(i) ;
if(childNode.isText() || childNode.isCDATASection()) {
if(findDomNodeScan(childNode, nodeTarget, lineSearched, columnSearched, info)) {
return true;
}
} else {
if(findDomNodeScan(childNode, childNode, lineSearched, columnSearched, info)) {
return true ;
}
}
}
return false ;
}
示例13: importJreepadFile
void SoftwareImporters::importJreepadFile(){
typedef QPair<BasketScene *, QDomElement> basketAndElementPair;
QString fileName = KFileDialog::getOpenFileName(KUrl("kfiledialog:///:ImportJreepadFile"),
"*.xml|XML files");
if (fileName.isEmpty()) {
return;
}
basketAndElementPair newElement;
basketAndElementPair currentElement;
QList<basketAndElementPair> elements;
QList<BasketScene*> basketList;
QDomDocument *doc = XMLWork::openFile("node", fileName);
newElement.second = doc->documentElement();
BasketScene *basket = 0;
BasketFactory::newBasket(/*icon=*/"xml", /*name=*/doc->documentElement().attribute("title"),
/*backgroundImage=*/"", /*backgroundColor=*/QColor(),
/*textColor=*/QColor(), /*templateName=*/"1column", /*createIn=*/0);
basket = Global::bnpView->currentBasket();
basket->load();
basketList << basket;
newElement.first = basket;
elements << newElement;
while ( !elements.isEmpty() ) {
currentElement = elements.takeFirst();
for (QDomNode n = currentElement.second.firstChild(); !n.isNull(); n = n.nextSibling()) {
if ( n.isText() ) {
basket = currentElement.first;
Note *note = NoteFactory::createNoteFromText(n.toText().data(), basket);
basket->insertNote(note, basket->firstNote(),
Note::BottomColumn, QPoint(), /*animate=*/false);
} else if ( n.isElement() ) {
BasketFactory::newBasket(/*icon=*/"xml", /*name=*/n.toElement().attribute("title"),
/*backgroundImage=*/"", /*backgroundColor=*/QColor(),
/*textColor=*/QColor(), /*templateName=*/"1column",
/*createIn=*/currentElement.first);
basket = Global::bnpView->currentBasket();
basket->load();
basketList << basket;
newElement.first = basket;
newElement.second = n.toElement();
elements << newElement;
}
}
}
foreach (basket, basketList) {
finishImport(basket);
}
示例14: getNodeValue
QString cDefinable::getNodeValue( const QDomElement &Tag )
{
QString Value = QString();
if( !Tag.hasChildNodes() )
return "";
else
{
QDomNode childNode = Tag.firstChild();
while( !childNode.isNull() )
{
if( !childNode.isElement() )
{
if( childNode.isText() )
Value += childNode.toText().data();
childNode = childNode.nextSibling();
continue;
}
QDomElement childTag = childNode.toElement();
if( childTag.nodeName() == "random" )
{
if( childTag.attributes().contains("min") && childTag.attributes().contains("max") )
Value += QString("%1").arg( RandomNum( childTag.attributeNode("min").nodeValue().toInt(), childTag.attributeNode("max").nodeValue().toInt() ) );
else if( childTag.attributes().contains("valuelist") )
{
QStringList RandValues = QStringList::split(",", childTag.attributeNode("list").nodeValue());
Value += RandValues[ RandomNum(0,RandValues.size()-1) ];
}
else if( childTag.attributes().contains( "list" ) )
{
Value += DefManager->getRandomListEntry( childTag.attribute( "list" ) );
}
else if( childTag.attributes().contains("dice") )
Value += QString("%1").arg(rollDice(childTag.attributeNode("dice").nodeValue()));
else
Value += QString("0");
}
// Process the childnodes
QDomNodeList childNodes = childTag.childNodes();
for( int i = 0; i < childNodes.count(); i++ )
{
if( !childNodes.item( i ).isElement() )
continue;
Value += this->getNodeValue( childNodes.item( i ).toElement() );
}
childNode = childNode.nextSibling();
}
}
return hex2dec( Value );
}
示例15: convertParagraph
bool Converter::convertParagraph( QTextCursor *cursor, const QDomElement &element, const QTextBlockFormat &parentFormat, bool merge )
{
const QString styleName = element.attribute( QStringLiteral("style-name") );
const StyleFormatProperty property = mStyleInformation->styleProperty( styleName );
QTextBlockFormat blockFormat( parentFormat );
QTextCharFormat textFormat;
property.applyBlock( &blockFormat );
property.applyText( &textFormat );
if ( merge )
cursor->mergeBlockFormat( blockFormat );
else
cursor->setBlockFormat( blockFormat );
QDomNode child = element.firstChild();
while ( !child.isNull() ) {
if ( child.isElement() ) {
const QDomElement childElement = child.toElement();
if ( childElement.tagName() == QLatin1String( "span" ) ) {
if ( !convertSpan( cursor, childElement, textFormat ) )
return false;
} else if ( childElement.tagName() == QLatin1String( "tab" ) ) {
mCursor->insertText( QStringLiteral(" ") );
} else if ( childElement.tagName() == QLatin1String( "s" ) ) {
QString spaces;
spaces.fill( QLatin1Char(' '), childElement.attribute( QStringLiteral("c") ).toInt() );
mCursor->insertText( spaces );
} else if ( childElement.tagName() == QLatin1String( "frame" ) ) {
if ( !convertFrame( childElement ) )
return false;
} else if ( childElement.tagName() == QLatin1String( "a" ) ) {
if ( !convertLink( cursor, childElement, textFormat ) )
return false;
} else if ( childElement.tagName() == QLatin1String( "annotation" ) ) {
if ( !convertAnnotation( cursor, childElement ) )
return false;
}
} else if ( child.isText() ) {
const QDomText childText = child.toText();
if ( !convertTextNode( cursor, childText, textFormat ) )
return false;
}
child = child.nextSibling();
}
return true;
}