Esempio n. 1
0
QVector<DkPackage> DkXmlUpdateChecker::parse(QXmlStreamReader& reader) const {

	QVector<DkPackage> packages;
	QString pName;

	while (!reader.atEnd()) {

		// e.g. <Name>nomacs</Name>
		if (reader.tokenType() == QXmlStreamReader::StartElement && reader.qualifiedName() == "Name") {
			reader.readNext();
			pName = reader.text().toString();
		}
		// e.g. <Version>3.0.0-3</Version>
		else if (reader.tokenType() == QXmlStreamReader::StartElement && reader.qualifiedName() == "Version") {
			reader.readNext();

			if (!pName.isEmpty()) {
				packages.append(DkPackage(pName, reader.text().toString()));
				pName = "";	// reset
			}
			else {
				qWarning() << "version: " << reader.text().toString() << "without a valid package name detected";
			}
		}

		reader.readNext();
	}

	return packages;
}
Esempio n. 2
0
void APIController::getAnimeID(QString name)
{
    QFile f("C:/reports.xml");
    QXmlStreamReader reader;
    f.open(QIODevice::ReadOnly);
    reader.setDevice(&f);
    int aid;
    while (!reader.atEnd()) {
        reader.readNext();
        if (reader.name() == "id" && reader.tokenString()=="StartElement") {
            reader.readNext();
            aid = reader.text().toInt();
        }
        if (reader.text().toString().toUpper() == name.toUpper())
        {
            path="C:/"+QString::number(aid);
            file = new QFile(path);
            file->open(QIODevice::ReadWrite);
            url.setUrl("http://cdn.animenewsnetwork.com/encyclopedia/api.xml?anime="+QString::number(aid));
            reply = qnam.get(QNetworkRequest(url));
            QObject::connect(reply, SIGNAL(readyRead()),
                             this, SLOT(httpReadyRead()));
            QObject::connect(reply, SIGNAL(finished()),
                             this, SLOT(httpFinished()));
            qDebug()<<QString::number(aid);
            return;
        }
    }

    if (reader.hasError()) {
        qDebug()<<reader.error();
    }
}
Esempio n. 3
0
QDebug operator<<(QDebug dbg, const QXmlStreamReader& reader)
{
    dbg.nospace() << "QXmlStreamReader(";
    if (reader.isStartElement()) {
        dbg.nospace() << "<";
        dbg.nospace() << reader.qualifiedName().toString().toLocal8Bit().constData();
        QString attrsString;
        const QXmlStreamAttributes& attrs = reader.attributes();
        for (int i = 0; i < attrs.count(); i++) {
            dbg.nospace() << " " << attrs[i].qualifiedName().toString().toLocal8Bit().constData();
            dbg.nospace() << "=";
            dbg.nospace() << attrs[i].value().toString();
        }
        if (reader.isEndElement()) {
            dbg.nospace() << "/>)";
        } else {
            dbg.nospace() << ">)";
        }
    } else if (reader.isEndElement()) {
        dbg.nospace() << "</" << reader.qualifiedName().toString().toLocal8Bit().constData() << ">)";
    } else if (reader.isCharacters()) {
        dbg.nospace() << "characters:" << reader.text() << ")";
    } else if (reader.isComment()) {
        dbg.nospace() << "<!-- " << reader.text().toString().toLocal8Bit().constData() << " -->)";
    } else if (reader.isCDATA()) {
        dbg.nospace() << "CDATA:" << reader.text() << ")";
    } else if (reader.isWhitespace()) {
        dbg.nospace() << "whitespace:" << reader.text() << ")";
    } else {
        dbg.nospace() << reader.tokenString() << reader.text();
    }
    return dbg.space();
}
QString LinNativeDisplayForm::parseText(
  QString elementName,
  QXmlStreamReader &textReader)
{
  QString textString;

  while (!textReader.atEnd())
  {
    textReader.readNext();

    if (textReader.isEndElement())
    {
      if (textReader.name() == elementName)
      {
        return textString;
      }
      else
      {
        textString.append(textReader.text().toString());
      }
    }
    else
    {
      textString.append(textReader.text().toString());
    }
  }

  return textString;
}
bool
SoundSettings::loadXML (
        const QString   &xmlFileName,
        QString         &origFileName,
        QString         &copyFileName,
        QString         &title)
{
    QFile            *file = 0;
    QXmlStreamReader *xml  = 0;
    bool              retval = false;
    QStringList       names;

    SYS_DEBUG ("*** xmlFileName = %s", SYS_STR(xmlFileName));
    file = new QFile(xmlFileName);

    if (!file || !file->open(QIODevice::ReadOnly | QIODevice::Text))
    {
        SYS_WARNING ("Can not open '%s' for reading: %m",
                SYS_STR(xmlFileName));
        goto finalize;
    }

    xml = new QXmlStreamReader(file);
    while(!xml->atEnd() && !xml->hasError()) {
        QString name(xml->name().toString());

        #if 0
        SYS_DEBUG ("*************************************");
        SYS_DEBUG ("*** name: %s", SYS_STR(name));
        SYS_DEBUG ("*** lineNumber : %d", xml->lineNumber());
        #endif

        if (xml->isStartElement()) {
            names << xml->name().toString();
        } else if (xml->isEndElement()) {
            names.removeLast();
        } else if (xml->isCharacters()) {
            QString path = names.join("/");

            if (path == "soundsettings-applet/orig-file")
                origFileName = xml->text().toString();
            else if (path == "soundsettings-applet/copy-file")
                copyFileName = xml->text().toString();
            else if (path == "soundsettings-applet/title")
                title = xml->text().toString();
        }

        xml->readNext();
    }

finalize:
    if (xml)
        delete xml;
    if (file)
        delete file;

    return retval;
}
bool KeeAgentSettings::fromXml(const QByteArray& ba)
{
    QXmlStreamReader reader;
    reader.addData(ba);

    if (reader.error() || !reader.readNextStartElement()) {
        return false;
    }

    if (reader.qualifiedName() != "EntrySettings") {
        return false;
    }

    while (!reader.error() && reader.readNextStartElement()) {
        if (reader.name() == "AllowUseOfSshKey") {
            m_allowUseOfSshKey = readBool(reader);
        } else if (reader.name() == "AddAtDatabaseOpen") {
            m_addAtDatabaseOpen = readBool(reader);
        } else if (reader.name() == "RemoveAtDatabaseClose") {
            m_removeAtDatabaseClose = readBool(reader);
        } else if (reader.name() == "UseConfirmConstraintWhenAdding") {
            m_useConfirmConstraintWhenAdding = readBool(reader);
        } else if (reader.name() == "UseLifetimeConstraintWhenAdding") {
            m_useLifetimeConstraintWhenAdding = readBool(reader);
        } else if (reader.name() == "LifetimeConstraintDuration") {
            m_lifetimeConstraintDuration = readInt(reader);
        } else if (reader.name() == "Location") {
            while (!reader.error() && reader.readNextStartElement()) {
                if (reader.name() == "SelectedType") {
                    reader.readNext();
                    m_selectedType = reader.text().toString();
                    reader.readNext();
                } else if (reader.name() == "AttachmentName") {
                    reader.readNext();
                    m_attachmentName = reader.text().toString();
                    reader.readNext();
                } else if (reader.name() == "SaveAttachmentToTempFile") {
                    m_saveAttachmentToTempFile = readBool(reader);
                } else if (reader.name() == "FileName") {
                    reader.readNext();
                    m_fileName = reader.text().toString();
                    reader.readNext();
                } else {
                    qWarning() << "Skipping location element" << reader.name();
                    reader.skipCurrentElement();
                }
            }
        } else {
            qWarning() << "Skipping element" << reader.name();
            reader.skipCurrentElement();
        }
    }

    return true;
}
Esempio n. 7
0
QString UpdateChecker::parseText(QXmlStreamReader& reader){
    QString result;
    reader.readNext();
    if(reader.tokenType() == QXmlStreamReader::Characters)
      result = reader.text().toString();
    return result;
}
Esempio n. 8
0
Integrator XMLReader::LoadIntegrator(QXmlStreamReader &xml_reader)
{
    Integrator result;

    //First check what type of integrator we're supposed to load
    QXmlStreamAttributes attribs(xml_reader.attributes());
    QStringRef type = attribs.value(QString(), QString("type"));
    bool is_mesh = false;

    while(!xml_reader.isEndElement() || QStringRef::compare(xml_reader.name(), QString("integrator")) != 0)
    {
        xml_reader.readNext();

        QString tag(xml_reader.name().toString());
        if(is_mesh && QString::compare(tag, QString("maxDepth")) == 0)
        {
            xml_reader.readNext();
            if(xml_reader.isCharacters())
            {
                result.SetDepth(xml_reader.text().toInt());
            }
            xml_reader.readNext();
        }
    }
    return result;
}
int KeeAgentSettings::readInt(QXmlStreamReader& reader)
{
    reader.readNext();
    int ret = reader.text().toInt();
    reader.readNext(); // tag end
    return ret;
}
bool KeeAgentSettings::readBool(QXmlStreamReader& reader)
{
    reader.readNext();
    bool ret = (reader.text().startsWith("t", Qt::CaseInsensitive));
    reader.readNext(); // tag end
    return ret;
}
void Document::loadImage(QXmlStreamReader &reader)
{
  LOG4CPP_INFO_S ((*mainCat)) << "Document::loadImage";

  loadNextFromReader(reader); // Read to CDATA
  if (reader.isCDATA ()) {

    // Get base64 array
    QByteArray array64 = reader.text().toString().toUtf8();

    // Decoded array
    QByteArray array;
    array = QByteArray::fromBase64(array64);

    // Read decoded array into image
    QDataStream str (&array, QIODevice::ReadOnly);
    QImage img = m_pixmap.toImage ();
    str >> img;
    m_pixmap = QPixmap::fromImage (img);

    // Read until end of this subtree
    while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
           (reader.name() != DOCUMENT_SERIALIZE_IMAGE)){
      loadNextFromReader(reader);
    }

  } else {
Esempio n. 12
0
void SyncMLExt::processElement( QXmlStreamReader& aReader, SyncMLCmdObject* aParent )
{

    FUNCTION_CALL_TRACE;

    SyncMLCmdObject* obj = new SyncMLCmdObject( aReader.name().toString() );

    while( !aReader.atEnd() ) {

        aReader.readNext();

        if( aReader.isStartElement() ) {
            processElement( aReader, obj );
        }
        else if( aReader.isCharacters() ) {
            obj->setValue( aReader.text().toString().simplified() );
        }
        else if( aReader.isEndElement() ) {
            break;
        }

    }

    aParent->addChild( obj );

}
Esempio n. 13
0
void clsProjectFile::ReadBookmarkDataFromFile(QXmlStreamReader &xmlReader)
{
	QString bmOffset, bmComment, bmModule, bmPModule;

	xmlReader.readNext();

	while(!(xmlReader.tokenType() == QXmlStreamReader::EndElement && xmlReader.name().contains("BOOKMARK_")))
	{
		if(xmlReader.tokenType() == QXmlStreamReader::StartElement)
		{
			if(xmlReader.name() == "bookmarkOffset")
			{
				xmlReader.readNext();
				bmOffset = xmlReader.text().toString();
			}
			else if(xmlReader.name() == "bookmarkComment")
			{
				xmlReader.readNext();
				bmComment = xmlReader.text().toString();
			}
			else if(xmlReader.name() == "bookmarkModule")
			{
				xmlReader.readNext();
				bmModule = xmlReader.text().toString();
			}
			else if(xmlReader.name() == "bookmarkPMod")
			{
				xmlReader.readNext();
				bmPModule = xmlReader.text().toString();
			}
		}

		xmlReader.readNext();
	}

	if(bmOffset.length() > 0 && bmComment.length() > 0 && bmModule.length() > 0 && bmPModule.length() > 0)
	{
		BookmarkData newBookmark = { 0 };
		newBookmark.bookmarkComment = bmComment;
		newBookmark.bookmarkModule = bmModule;
		newBookmark.bookmarkProcessModule = bmPModule;
		newBookmark.bookmarkOffset = bmOffset.toULongLong(0,16);

		m_pMainWindow->dlgBookmark->BookmarkInsertFromProjectFile(newBookmark);
	}
}
Esempio n. 14
0
void Project::parseSource(QXmlStreamReader& xml)
{
	while(xml.tokenType() != QXmlStreamReader::EndElement) {
		QXmlStreamReader::TokenType token=xml.readNext();
		if(token == QXmlStreamReader::Characters) {
			sources.append(xml.text().toString());
		}
	}
}
Esempio n. 15
0
// METODO Database::parseNet( QXmlStreamReader&, SmartUtente )
void Database::parseNet( QXmlStreamReader& xmlReader, const SmartUtente& su ) {
    // xmlReader è su <net>
    xmlReader.readNext(); // xmlReader è su </net> o <contact>
    while( xmlReader.name() != "net" ||
           xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
        if( xmlReader.name() == "contact" &&
                xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
            xmlReader.readNext(); // xmlReader è sul contenuto dell'elemento <contact>

            if( contains( xmlReader.text().toString() ) ) {
                SmartUtente aux = find( xmlReader.text().toString() );
                su->addContact( aux );
            }
        }
        xmlReader.readNext(); // xmlReader è su </contact> o </net>
    }
    xmlReader.readNext();
}
Esempio n. 16
0
void XmlParser::parseXmlStream()
{
    while (!m_reader.atEnd()) {
        if (m_reader.readNext()) {

            if (m_reader.isEndElement()) {
                if (isProgramValid) {
                    m_programs.append(m_currentProgram);
                    isProgramValid = false;
                }
                m_currentToken.clear();
                return;
            }

            if (m_reader.isCharacters()) {
                if (m_currentToken == QLatin1String("title"))
                    m_currentProgram.setName(m_reader.text().toString());
                else if (m_currentToken == QLatin1String("display-name"))
                    m_channel.setName(m_reader.text().toString());
            }

            if (m_reader.isStartElement()) {
                m_currentToken = m_reader.name().toString();
                if (m_currentToken == QLatin1String("icon")) {
                    QXmlStreamAttributes attribs = m_reader.attributes();
                    foreach (QXmlStreamAttribute attr, attribs) {
                        const QString attrName = attr.name().toString();
                        const QString attrValue = attr.value().toString();
                        if (attrName == QLatin1String("src"))
                            m_channel.setIcon(QUrl(attrValue));
                    }
                } else if (m_currentToken == QLatin1String("programme")) {
                    isProgramValid = true;
                    QXmlStreamAttributes attribs = m_reader.attributes();
                    foreach (QXmlStreamAttribute attr, attribs) {
                        const QString attrName = attr.name().toString();
                        const QString attrValue = attr.value().toString();
                        if (attrName == QLatin1String("start")) {
                            QDateTime dt = QDateTime::fromString(attrValue, QLatin1String("yyyyMMddhhmmss"));
                            m_currentProgram.setStartTime(dt.toLocalTime().toString(QLatin1String("hh:mm")));
                        }
                    }
                }
Esempio n. 17
0
void jcz::XmlParser::readTile(QXmlStreamReader & xml, XMLTile & tile)
{
//	qDebug() << xml.tokenString() << xml.name();
	bool ok = false;
	int count = xml.attributes().value("count").toInt(&ok);
	if (!ok || count <= 0)
		return;
	tile.count = count;
	tile.id = xml.attributes().value("id").toString();

	while (xml.readNextStartElement())
	{
//		qDebug() << xml.tokenString() << xml.name();

		QString name = xml.name().toString();
		if (name == "wagon-move")
		{
			//TODO
		}
		else if (name == "position")
		{
			//TODO
		}
		else
		{
			tile.features.append(XMLFeature());
			XMLFeature & feature = tile.features.last();
			feature.name = name;

			for (QXmlStreamAttribute const & a : xml.attributes())
				feature.properties[a.name().toString()] = a.value().toString();

			if (name == "cloister")
				feature.location = Location::CLOISTER;
			else if (name == "tower")
				feature.location = Location::TOWER;
			else
			{
				xml.readNext();
//				qDebug() << xml.tokenString() << xml.name() << xml.text();

				QStringList const & split = xml.text().toString().split(' ', QString::SkipEmptyParts);
				feature.location = initFromDirList(split);
			}

			Q_ASSERT(!tile.locations.contains(feature.location));
			tile.locations.insert(feature.location, tile.features.length() - 1);
		}

		xml.skipCurrentElement();
//		qDebug();
	}
//	qDebug();
}
Esempio n. 18
0
Transform XMLReader::LoadTransform(QXmlStreamReader &xml_reader)
{
    glm::vec3 t, r, s;
    s = glm::vec3(1,1,1);
    while(!xml_reader.isEndElement() || QStringRef::compare(xml_reader.name(), QString("transform")) != 0)
    {
        xml_reader.readNext();
        QString tag(xml_reader.name().toString());
        if(xml_reader.isStartElement() && QString::compare(tag, QString("translate")) == 0)
        {
            xml_reader.readNext();
            if(xml_reader.isCharacters())
            {
                QStringRef vec = xml_reader.text();
                t = ToVec3(vec);
            }
            xml_reader.readNext();
        }
        else if(xml_reader.isStartElement() && QString::compare(tag, QString("rotate")) == 0)
        {
            xml_reader.readNext();
            if(xml_reader.isCharacters())
            {
                QStringRef vec = xml_reader.text();
                r = ToVec3(vec);
            }
            xml_reader.readNext();
        }
        else if(xml_reader.isStartElement() && QString::compare(tag, QString("scale")) == 0)
        {
            xml_reader.readNext();
            if(xml_reader.isCharacters())
            {
                QStringRef vec = xml_reader.text();
                s = ToVec3(vec);
            }
            xml_reader.readNext();
        }
    }
    return Transform(t, r, s);
}
Esempio n. 19
0
unsigned int XMLReader::LoadPixelSamples(QXmlStreamReader &xml_reader)
{
    while(!xml_reader.isEndElement() || QStringRef::compare(xml_reader.name(), QString("pixelSampleLength")) != 0)
    {
        xml_reader.readNext();
        if(xml_reader.isCharacters())
        {
            return xml_reader.text().toInt();
        }
        xml_reader.readNext();
    }
}
Esempio n. 20
0
void PdmFieldReader<QString>::readFieldData(PdmField<QString> & field, QXmlStreamReader& xmlStream)
{
    PdmFieldIOHelper::skipComments(xmlStream);
    if (!xmlStream.isCharacters()) return;

    field = xmlStream.text().toString();

    // Make stream point to end of element
    QXmlStreamReader::TokenType type;
    type = xmlStream.readNext();
    PdmFieldIOHelper::skipCharactersAndComments(xmlStream);
}
Esempio n. 21
0
/*!
  \reimp
*/
void QThemeLevelItem::loadChildren(QXmlStreamReader &reader)
{
    while (!reader.atEnd()) {
        reader.readNext();

        if (reader.isEndElement())
            break;

        if (reader.isCharacters())
            d->text += reader.text().toString().trimmed();
    }
}
Esempio n. 22
0
void ConfigReader::setConfigKeys(QXmlStreamReader & xml){
    if (
            xml.tokenType() != QXmlStreamReader::StartElement ||
            xml.name().toString() == "data")
          return;

    QString name = xml.name().toString();
    xml.readNext();
    QString text = xml.text().toString();

    data_config[name] = text;
}
Esempio n. 23
0
void MyHttpEngine::parseScore(QXmlStreamReader& xml) {
    QString name;
    QString description;
    QString id;
    /* Let's check that we're really getting a score. */
    if(xml.tokenType() != QXmlStreamReader::StartElement &&
            xml.name() == "score") {
        return;
    }
    /* Let's get the attributes for person */
    QXmlStreamAttributes attributes = xml.attributes();
    /* Next element... */
    xml.readNext();
    /*
     * We're going to loop over the things because the order might change.
     * We'll continue the loop until we hit an EndElement named person.
     */
    while(!(xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == "score")) {
        if(xml.tokenType() == QXmlStreamReader::StartElement) {
            /* We've found title. */
            if(xml.name() == "title") {
                xml.readNext();
                name = xml.text().toString();
            }
            /* We've found description. */
            if(xml.name() == "genre") {
                xml.readNext();
                description = xml.text().toString();
            }
            /* We've found id. */
            if(xml.name() == "id") {
                xml.readNext();
                id = xml.text().toString();
            }
        }
        /* ...and next... */
        xml.readNext();
    }
    scoreList.append(new ScoreInfo(name, description, id));
}
Esempio n. 24
0
void Languages::parseLanguage(QXmlStreamReader &xml)
{
    static const QString nameTag(QLatin1String("name"));
    static const QString codeTag(QLatin1String("code"));
    QString name;
    QString code;

    while (!xml.atEnd()) {
        QXmlStreamReader::TokenType token = xml.readNext();
        const QStringRef elem = xml.name();

        switch (token) {
        case QXmlStreamReader::StartElement:
            if (nameTag == elem) {
                xml.readNext();
                name = xml.text().toString();
                xml.readNext();
            } else if (codeTag == elem) {
                xml.readNext();
                code = xml.text().toString();
                xml.readNext();
            } else {
                ignoreBlock(xml);
            }
            break;

        case QXmlStreamReader::EndElement:
            if (!name.isEmpty() && !code.isEmpty()) {
                m_languages.insert(code, name);
            }

            return;
            break;

        default:
            break;
        }
    }
}
Esempio n. 25
0
bool clsProjectFile::ReadDebugDataFromFile(QXmlStreamReader &xmlReader)
{
	QString filePath, commandLine;

	xmlReader.readNext();

	while(!(xmlReader.tokenType() == QXmlStreamReader::EndElement && xmlReader.name() == "TARGET"))
	{
		if(xmlReader.tokenType() == QXmlStreamReader::StartElement)
		{
			if(xmlReader.name() == "FilePath")
			{
				xmlReader.readNext();
				filePath = xmlReader.text().toString();
			}
			else if(xmlReader.name() == "CommandLine")
			{
				xmlReader.readNext();
				commandLine = xmlReader.text().toString();
			}
		}

		xmlReader.readNext();
	}

	if(filePath.length() <= 0)
	{
		return false;
	}
	else
	{
		m_pMainWindow->coreDebugger->SetTarget(filePath);
		m_pMainWindow->coreDebugger->SetCommandLine(commandLine);
	}

	return true;
}
Esempio n. 26
0
File: main.cpp Progetto: ifhw/study
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile file("../myXmlStream/my.xml");
    if (!file.open(QFile::ReadOnly | QFile::Text))
    {
        qDebug()<<"Error: cannot open file";
        return 1;
    }

    QXmlStreamReader reader;

    // 设置文件,这时会将流设置为初始状态
    reader.setDevice(&file);

    // 如果没有读到文档结尾,而且没有出现错误
    while (!reader.atEnd()) {
        // 读取下一个记号,它返回记号的类型
        QXmlStreamReader::TokenType type = reader.readNext();

        // 下面便根据记号的类型来进行不同的输出
        if (type == QXmlStreamReader::StartDocument)
            qDebug() << reader.documentEncoding() << reader.documentVersion();

        if (type == QXmlStreamReader::StartElement) {
            qDebug() << "<" << reader.name() << ">";
            if (reader.attributes().hasAttribute("id"))
                qDebug() << reader.attributes().value("id");
        }

        if (type == QXmlStreamReader::EndElement)
            qDebug() << "</" << reader.name() << ">";

        if (type == QXmlStreamReader::Characters && !reader.isWhitespace())
            qDebug() << reader.text();
    }

    // 如果读取过程中出现错误,那么输出错误信息
    if (reader.hasError()) {
        qDebug() << "error: " << reader.errorString();
    }

    file.close();

    return a.exec();
}
Esempio n. 27
0
void Projection::fromXML(QXmlStreamReader& stream)
{
    if (stream.name() == "Projection") {
        QString proj;
        if (stream.attributes().hasAttribute("type"))
            proj = stream.attributes().value("type").toString();
        else
            proj = QCoreApplication::translate("Projection", "Document");
        stream.readNext();
        if (stream.tokenType() == QXmlStreamReader::Characters) {
            setProjectionType(stream.text().toString());
            p->projType = proj;
            stream.readNext();
        } else
            setProjectionType(proj);
    }
}
void GModelComponent::readArgument(QXmlStreamReader &xmlReader , IModelComponent* component)
{
  if(!xmlReader.name().compare("Argument", Qt::CaseInsensitive) && !xmlReader.hasError() && xmlReader.tokenType() == QXmlStreamReader::StartElement )
  {
    QXmlStreamAttributes attributes = xmlReader.attributes();

    if(attributes.hasAttribute("Id") && attributes.hasAttribute("ArgumentIOType"))
    {
      QStringRef argumentId = attributes.value("Id");
      QStringRef argIOType = attributes.value("ArgumentIOType");
      IArgument* targument = nullptr;

      for(IArgument* argument : component->arguments())
      {
        qDebug() << argument->id();

        if(!argumentId.toString().compare(argument->id() , Qt::CaseInsensitive))
        {
          targument = argument;

          QString value;
          QXmlStreamWriter writer(&value);

          while(!(xmlReader.isEndElement() && !xmlReader.name().compare("Argument", Qt::CaseInsensitive)) && !xmlReader.hasError())
          {
            xmlReader.readNext();
            writer.writeCurrentToken(xmlReader);
            qDebug() << xmlReader.text();
          }

          if(!argIOType.toString().compare("File", Qt::CaseInsensitive))
          {
            targument->readValues(value , true);
          }
          else
          {
            qDebug() << value;
            targument->readValues(value);
          }

          break;
        }
      }
    }
  }
}
Esempio n. 29
0
File: var.cpp Progetto: Aspenka/SSD
Var Var::fromXML(QXmlStreamReader& xml)
{
	while (xml.tokenType() != QXmlStreamReader::StartElement && !xml.atEnd() && !xml.hasError())
    {
		xml.readNext();
    }
	QString root = xml.name().toString();
	setParam("map",root);
	while (!(xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == root) && !xml.atEnd() && !xml.hasError())
    {
        xml.readNext();
		if (xml.tokenType() == QXmlStreamReader::StartElement)
        {
            Var el;
			el.fromXML(xml);
			if(getType()=="map")
            {
                if(!Map.contains(el.getName()))
                {
                    Map.insert(el.getName(),el);
                }
				else
                {
                    setType("list");
					List<<Map.value(el.getName());
                }
            }
			if(getType()=="list")
            {
                List<<el;
            }
        }
		if (xml.tokenType() == QXmlStreamReader::Characters)
        {
            QString text=xml.text().toString();
			if(!text.startsWith('\n'))
            {
                setType("string");
				String = text;
            }
        }
    }
	return *this;
}
void TabDialog::addElementDataToMap(QXmlStreamReader& xml,
                                      QMap<QString, QString>& map) const {
    /* We need a start element, like <foo> */
    if(xml.tokenType() != QXmlStreamReader::StartElement) {
        return;
    }
    /* Let's read the filter */
    QString elementName = xml.name().toString();
    /* ...go to the next. */
    xml.readNext();
    /*
     * This elements needs to contain Characters so we know it's
     * actually data, if it's not we'll leave.
     */
    if(xml.tokenType() != QXmlStreamReader::Characters) {
        return;
    }
    /* Now we can add it to the map.*/
    map.insert(elementName, xml.text().toString());
}