bool OsisData::ProcessAttributes(QDomElement& xmlElement) { // Parse and save attributes QDomNamedNodeMap attr = xmlElement.attributes(); int size = attr.size(); if (!size) { return false; // Error } for (int i = 0; i < size; i++) { QDomAttr at = attr.item(i).toAttr(); QString value(at.value()); int key = getEnumKey("OsisElementAttributes", at.name().toLocal8Bit().constData()); if (key != -1) { if (Attribute.contains(key)) { Attribute.remove(key); } Attribute[key] = value; } else { qCritical() << "<" << ElementName << ">: Unknown attribute: " << at.name() << "=" << value << endl; } } return true; }
void DialogEditNodeTable::LoadContent() { //Load the element value m_pValueLine->setText(m_node.toElement().text()); //Get all the attributes QDomNamedNodeMap attributes = m_node.attributes(); m_pTable->setRowCount(attributes.size()); QTableWidgetItem* item = 0; //Add each attribute in to the table for(int indexRow=0; indexRow < attributes.size(); ++indexRow) { int columnIndex = 0; QDomAttr attributeNode = attributes.item(indexRow).toAttr(); item = new QTableWidgetItem(attributeNode.nodeName());// << attribute name item->setToolTip(attributeNode.nodeName()); m_pTable->setItem(indexRow, columnIndex, item); columnIndex++; item = new QTableWidgetItem(attributeNode.nodeValue());// << value item->setToolTip(attributeNode.nodeValue()); m_pTable->setItem(indexRow, columnIndex, item); columnIndex++; } }
void PathMapper::addHistory(const QString &localpath, const QString &serverpath, bool saveinproject) { bool exists = false; for (unsigned int cnt = 0; cnt < m_serverlist.count() && !exists; cnt++ ) if(m_serverlist[cnt] == serverpath && m_locallist[cnt] == localpath) exists = true; if(!exists) { if(saveinproject) { QDomNode node = pathMapperNode(); QDomNode newnode = Project::ref()->dom()->createElement("mapping"); QDomAttr serverattr = Project::ref()->dom()->createAttribute("serverpath"); serverattr.setValue(serverpath); QDomAttr localattr = Project::ref()->dom()->createAttribute("localpath"); localattr.setValue(localpath); newnode.attributes().setNamedItem(serverattr); newnode.attributes().setNamedItem(localattr); node = node.namedItem("mappings"); node.insertAfter(newnode, node.lastChild()); } m_serverlist.append(serverpath); m_locallist.append(localpath); } }
// Register the various playgrounds bool PlayGround::registerPlayGrounds(QDomDocument &layoutDocument) { QDomNodeList playGroundsList, menuItemsList, labelsList; QDomElement playGroundElement, menuItemElement, labelElement; QDomAttr actionAttribute; playGroundsList = layoutDocument.elementsByTagName("playground"); if (playGroundsList.count() < 1) return false; for (uint i = 0; i < playGroundsList.count(); i++) { playGroundElement = (const QDomElement &) playGroundsList.item(i).toElement(); menuItemsList = playGroundElement.elementsByTagName("menuitem"); if (menuItemsList.count() != 1) return false; menuItemElement = (const QDomElement &) menuItemsList.item(0).toElement(); labelsList = menuItemElement.elementsByTagName("label"); if (labelsList.count() != 1) return false; labelElement = (const QDomElement &) labelsList.item(0).toElement(); actionAttribute = menuItemElement.attributeNode("action"); topLevel->registerGameboard(labelElement.text(), actionAttribute.value().latin1()); } return true; }
// 将销售记录写入文档 void Widget::writeXml() { // 先从文件读取 if (docRead()) { QString currentDate = getDateTime(Date); QDomElement root = doc.documentElement(); // 根据是否有日期节点进行处理 if (!root.hasChildNodes()) { QDomElement date = doc.createElement(QString("日期")); QDomAttr curDate = doc.createAttribute("date"); curDate.setValue(currentDate); date.setAttributeNode(curDate); root.appendChild(date); createNodes(date); } else { QDomElement date = root.lastChild().toElement(); // 根据是否已经有今天的日期节点进行处理 if (date.attribute("date") == currentDate) { createNodes(date); } else { QDomElement date = doc.createElement(QString("日期")); QDomAttr curDate = doc.createAttribute("date"); curDate.setValue(currentDate); date.setAttributeNode(curDate); root.appendChild(date); createNodes(date); } } // 写入到文件 docWrite(); } }
/** * \en * insert new row in table and replace tag to value * \_en * \ru * Вставляет новую строку в таблицу, заменяет теги на значения, удаляет тег секции из строки таблицы. * Выполняет рекурсивный поиск узла, содержащего строку таблицы. У этого узла есть * специальное имя(w:r), которое распознается функцией. После того, как узел найден, строка строка дублируется, * а из текущей строки удаляются все теги секции, чтобы избежать мнократного размножения строк таблицы. * \_ru * \param node - \en context for inserting \_en \ru узел, в который происходит вставка \_ru * \see searchTags() */ void aMSOTemplate::insertRowValues(QDomNode node) { QDomNode n = node; while(!n.parentNode().isNull()) { n = n.parentNode(); QDomElement e = n.toElement(); if( n.nodeName()=="Row" ) { QDomAttr a = n.toElement().attributeNode( "ss:Index" ); n.parentNode().insertAfter(n.cloneNode(true),n); clearTags(n,true); QMap<QString,QString>::Iterator it; for ( it = values.begin(); it != values.end(); ++it ) { searchTags(n,it.key()); } int rowIndex = a.value().toInt(); if (rowIndex == 0) { rowIndex = getRowIndex(n); n.toElement().setAttribute("ss:Index",rowIndex); } n.nextSibling().toElement().setAttribute("ss:Index",rowIndex+1); } } }
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(); }
bool ItDocument::scanNode(QDomNode node) { ItElement* itElement; QDomElement e = node.toElement(); //qDebug() << "New element"; if (!e.isNull()) { //QDomElement* element = static_cast<QDomElement*>(&node); //QDomElement element = QDomElement (node); QDomAttr a = e.attributeNode("id"); QString id = ""; if (!a.isNull() && a.namespaceURI()==idNamespaceURI) { id = e.attribute("id",""); } //if (!a.isNull() && a.namespaceURI()!=idNamespaceURI) {qDebug()<<"URI: "<<a.namespaceURI(); } //qDebug() << "Adding id:" << id; if (id != "") { if (index.contains(id)) { errorMessage = QObject::tr("Duplicate id '%1' for element '%2'.").arg(id, e.tagName()); return false; } itElement = new ItElement(e); index[id] = itElement; } QDomNodeList children = e.childNodes(); for (unsigned int i=0; i<children.length(); ++i) { if (!scanNode(children.at(i))) return false; } } return true; }
void Properties::save(QDomDocument &doc, QDomElement &parent) { QDomElement propertiesElem = doc.createElement(XML_TAGNAME.c_str()); parent.appendChild(propertiesElem); QDomAttr propertieAttr; for (std::map<std::string, Property*>::iterator it = _properties.begin(); it != _properties.end(); ++it) { // to save string lists, we save each value the format property_name[index] const std::vector<std::string> &lst = it->second->valueStrList(); if(lst.size()>1) { for(unsigned int i=0;i<lst.size(); i++) { QString index; index.sprintf("%i",i); propertieAttr = doc.createAttribute(QString(it->second->name().c_str()).replace(' ', WHITESPACE_REPLACEMENT)+index); propertieAttr.setValue(lst[i].c_str()); propertiesElem.setAttributeNode(propertieAttr); } } else { propertieAttr = doc.createAttribute(QString(it->second->name().c_str()).replace(' ', WHITESPACE_REPLACEMENT)); propertieAttr.setValue(it->second->valueStr().c_str()); propertiesElem.setAttributeNode(propertieAttr); } } }
BorderDrawerInterface * BorderDrawersLoader::getDrawerFromSvg(QDomElement & drawerElement) { QMap<QString,QString> properties; QDomNamedNodeMap attributes = drawerElement.attributes(); for (int j = attributes.count()-1; j >= 0; --j) { QDomAttr attr = attributes.item(j).toAttr(); if (attr.isNull()) continue; properties.insert(attr.name(), attr.value()); } QString drawerName = properties.take("name"); if (!instance()->registeredDrawers().contains(drawerName)) return 0; BorderDrawerInterface * drawer = getDrawerByName(drawerName); const QMetaObject * meta = drawer->metaObject(); int count = meta->propertyCount(); for (int i = 0; i < count; ++i) { QMetaProperty p = meta->property(i); QString value = properties.take(p.name()); if (value.isEmpty()) continue; p.write(drawer, QVariant(QByteArray::fromBase64(value.toAscii()))); } return drawer; }
int QDomAttrProto:: nodeType() const { QDomAttr *item = qscriptvalue_cast<QDomAttr*>(thisObject()); if (item) return item->nodeType(); return 0; }
bool QDomAttrProto:: specified() const { QDomAttr *item = qscriptvalue_cast<QDomAttr*>(thisObject()); if (item) return item->specified(); return false; }
void NewsSite::parseAtom(QDomDocument domDoc) { QDomNodeList entries = domDoc.elementsByTagName("entry"); for (unsigned int i = 0; i < (unsigned) entries.count(); i++) { QDomNode itemNode = entries.item(i); QString title = ReplaceHtmlChar(itemNode.namedItem("title").toElement() .text().simplified()); QDomNode summNode = itemNode.namedItem("summary"); QString description = QString::null; if (!summNode.isNull()) { description = ReplaceHtmlChar( summNode.toElement().text().simplified()); } QDomNode linkNode = itemNode.namedItem("link"); QString url = QString::null; if (!linkNode.isNull()) { QDomAttr linkHref = linkNode.toElement().attributeNode("href"); if (!linkHref.isNull()) url = linkHref.value(); } insertNewsArticle(NewsArticle(title, description, url)); } }
QDomElement QDomAttrProto:: ownerElement() const { QDomAttr *item = qscriptvalue_cast<QDomAttr*>(thisObject()); if (item) return item->ownerElement(); return QDomElement(); }
QString QDomAttrProto:: value() const { QDomAttr *item = qscriptvalue_cast<QDomAttr*>(thisObject()); if (item) return item->value(); return QString(); }
QString QDomAttrProto:: toString() const { QDomAttr *item = qscriptvalue_cast<QDomAttr*>(thisObject()); if (item) return QString("[QDomAttr %1='%2']").arg(item->name()).arg(item->value()); return QString(); }
void SvgImage::modify(const QString &tag, const QString &id, const QString &attribute, const QString &value) { bool modified = false; QDomNodeList nodeList = m_svgDocument.elementsByTagName( tag ); for ( int i = 0; i < nodeList.count(); ++i ) { QDomNode node = nodeList.at( i ); QDomNamedNodeMap attributes = node.attributes(); if ( checkIDAttribute( attributes, id ) ) { QDomNode attrElement = attributes.namedItem( attribute ); if ( attrElement.isAttr() ) { QDomAttr attr = attrElement.toAttr(); attr.setValue( value ); modified = true; } } } if ( modified ) { m_updateNeeded = true; update(); } }
void LevelLoader::loadLine(QDomElement lineNode) { // Reading the line number QDomAttr attribute = lineNode.attributeNode(QStringLiteral("Number")); QDomElement attributeNode = lineNode.firstChildElement(QStringLiteral("Number")); if (!attribute.isNull()) { m_lineNumber = attribute.value().toInt(); } else if (!attributeNode.isNull()) { m_lineNumber = attributeNode.text().toInt(); } else { // Standard line numbering: load next line m_lineNumber++; } // Reading the brick information attribute = lineNode.attributeNode(QStringLiteral("Bricks")); attributeNode = lineNode.firstChildElement(QStringLiteral("Bricks")); QString line; if (!attribute.isNull()) { line = attribute.value(); } else if (!attributeNode.isNull()) { line = attributeNode.text(); } else { line = lineNode.text(); } if (line.size() > WIDTH) { qCritical() << "Invalid levelset " << m_levelname << ": too many bricks in line " << m_lineNumber << endl; } emit newLine(line, m_lineNumber); }
bool operator()(QDomNode node) { QDomElement elem = node.toElement(); QDomAttr attr = elem.attributeNode("id"); if(!attr.isNull() && attr.value() == m_value) { return true; } return false; }
void Block::Unmarshall( QDomElement& blockElement, Level* level ) { QDomAttr blockRowAttr = blockElement.attributeNode(BLOCK_ROW_ATTR); QDomAttr blockColumnAttr = blockElement.attributeNode(BLOCK_COLUMN_ATTR); UrAsset::setRow( blockRowAttr.value().toUInt() ); UrAsset::setColumn( blockColumnAttr.value().toUInt() ); UrAsset::calculateLevelEditorPosition(level->Row); }
void LevelLoader::loadLevel(QList< Brick* >& bricks) { // Selecting the correct level m_level++; if( m_levelset == 0 ){ qDebug() << "Error: No levelset specified" << endl; return; } QDomElement levels = m_levelset->documentElement(); QDomNode node = levels.firstChild(); for( int i = 1; i < m_level; i++ ){ node = node.nextSibling(); } // -- // Load level information if( node.isNull() || node.toElement().tagName() != "Level" ){ // Level not found or no more levels return; } QDomAttr attribute; QDomElement level = node.toElement(); if( level.isNull() ){ qDebug() << "Invalid Levelset " << m_levelname << ": Can't read level information"; } attribute = level.attributeNode("Name"); QString levelName; if( !attribute.isNull() ){ levelName = level.attributeNode("Name").value(); } node = node.firstChild(); // -- // Load bricks and gifts m_lineNumber = 0; while( !node.isNull() ){ QDomElement info = node.toElement(); if( info.isNull() ){ qDebug() << "Invalid levelset " << m_levelname << ": Can't read level information."; } if( info.tagName() == "Line" ){ // Load one line of bricks loadLine( info, bricks ); } else if( info.tagName() == "Gift" ){ // Load one gift type loadGift( info, bricks ); } else { qDebug() << "Invalid tag name " << info.tagName() << " has occured in level " << levelName << " in levelset " << m_levelname << endl; } node = node.nextSibling(); } }
void Language::setAttribute( QDomAttr &attr) { if(attr.localName().compare("Value", Qt::CaseInsensitive)==0) { setValue(attr.value()); return; } if(attr.localName().compare("Lang", Qt::CaseInsensitive)==0) { setLang(attr.value()); return; } }
void PreviouslyShown::setAttribute( QDomAttr &attr) { if(attr.localName().compare("Channel", Qt::CaseInsensitive)==0) { setChannel(attr.value()); return; } if(attr.localName().compare("Start", Qt::CaseInsensitive)==0) { setStart(attr.value()); return; } }
bool checkIDAttribute( const QDomNamedNodeMap& map, const QString& value ) { QDomNode attrElement = map.namedItem( "id" ); if ( attrElement.isAttr() ) { QDomAttr attr = attrElement.toAttr(); return attr.value() == value; } return false; }
void Gear_ListBox::internalSave(QDomDocument &doc, QDomElement &gearElem) { std::ostringstream strValue; strValue << getValue(); QDomAttr attrListBoxPos = doc.createAttribute("ListBoxPos"); attrListBoxPos.setValue(strValue.str().c_str()); gearElem.setAttributeNode(attrListBoxPos); }
ConstraintTypes::PlaylistDuration::PlaylistDuration( QDomElement& xmlelem, ConstraintNode* p ) : Constraint( p ) , m_duration( 0 ) , m_comparison( CompareNumEquals ) , m_strictness( 1.0 ) { QDomAttr a; a = xmlelem.attributeNode( "duration" ); if ( !a.isNull() ) { m_duration = a.value().toInt(); } else { // Accommodate schema change when PlaylistLength became PlaylistDuration a = xmlelem.attributeNode( "length" ); if ( !a.isNull() ) m_duration = a.value().toInt(); } a = xmlelem.attributeNode( "comparison" ); if ( !a.isNull() ) m_comparison = a.value().toInt(); a = xmlelem.attributeNode( "strictness" ); if ( !a.isNull() ) m_strictness = a.value().toDouble(); }
ConstraintTypes::PlaylistFileSize::PlaylistFileSize( QDomElement& xmlelem, ConstraintNode* p ) : Constraint( p ) , m_size( 700 ) , m_unit( 1 ) , m_comparison( CompareNumEquals ) , m_strictness( 1.0 ) { QDomAttr a; a = xmlelem.attributeNode( "size" ); if ( !a.isNull() ) m_size = a.value().toInt(); a = xmlelem.attributeNode( "unit" ); if ( !a.isNull() ) m_unit = a.value().toInt(); a = xmlelem.attributeNode( "comparison" ); if ( !a.isNull() ) m_comparison = a.value().toInt(); a = xmlelem.attributeNode( "strictness" ); if ( !a.isNull() ) m_strictness = a.value().toDouble(); }
void Prefs_KeyboardShortcuts::importKeySet(QString filename) { searchTextLineEdit->clear(); QFileInfo fi = QFileInfo(filename); if (fi.exists()) { //import the file into qdomdoc QDomDocument doc( "keymapentries" ); QFile file1( filename ); if ( !file1.open( QIODevice::ReadOnly ) ) return; QTextStream ts(&file1); ts.setCodec("UTF-8"); QString errorMsg; int eline; int ecol; if ( !doc.setContent( ts.readAll(), &errorMsg, &eline, &ecol )) { qDebug("%s", QString("Could not open key set file: %1\nError:%2 at line: %3, row: %4").arg(filename).arg(errorMsg).arg(eline).arg(ecol).toLatin1().constData()); file1.close(); return; } file1.close(); //load the file now QDomElement docElem = doc.documentElement(); if (docElem.tagName()=="shortcutset" && docElem.hasAttribute("name")) { QDomAttr keysetAttr = docElem.attributeNode( "name" ); //clear current menu entries for (QMap<QString,Keys>::Iterator it=keyMap.begin(); it!=keyMap.end(); ++it) it.value().keySequence = QKeySequence(); //load in new set QDomNode n = docElem.firstChild(); while( !n.isNull() ) { QDomElement e = n.toElement(); // try to convert the node to an element. if( !e.isNull() ) { if (e.hasAttribute("name") && e.hasAttribute( "shortcut" )) { QDomAttr nameAttr = e.attributeNode( "name" ); QDomAttr shortcutAttr = e.attributeNode( "shortcut" ); if (keyMap.contains(nameAttr.value())) keyMap[nameAttr.value()].keySequence=QKeySequence(shortcutAttr.value()); } } n = n.nextSibling(); } } } insertActions(); }
QString ServiceDefinition::argumentType(const QString &serviceName, const QString &argument) const { QDomNode node = d->mInputArguments[serviceName][argument]; if (node.hasAttributes()) { QDomAttr attr = d->getAttributeFromNode(node, "type"); return attr.nodeValue(); } return ""; }
MStriantMap MusicAbstractXml::readXmlAttributesByTagName(const QString &tagName) const { QDomNodeList nodelist = m_ddom->elementsByTagName(tagName); QDomNamedNodeMap nodes = nodelist.at(0).toElement().attributes(); MStriantMap maps; for(int i=0; i<nodes.count(); ++i) { QDomAttr attr = nodes.item(i).toAttr(); maps[attr.name()] = attr.value(); } return maps; }