Example #1
0
//=============================================================================
bool GoogleEngine::parseCurrentCondition(QXmlStreamReader &xml, WeatherInfo &aInfo)
{
    if (!QString::compare(xml.name().toString(),"current_conditions")) {
        xml.readNext();
        while (!(xml.tokenType() == QXmlStreamReader::EndElement &&
                 xml.name() == "current_conditions")) {
            if ( xml.isStartElement() && xml.name() == "temp_c") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mCurrent.mTemp =
                        xml.attributes().value("data").toString().toInt();
            }
            if ( xml.isStartElement() && xml.name() == "humidity") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mCurrent.mHumidity =
                        xml.attributes().value("data").toString();
            }
            if ( xml.isStartElement() && xml.name() == "condition") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mCurrent.mSkycode =
                        xml.attributes().value("data").toString();
            }
            xml.readNext();
        }
        return true;
    }
    return false;
}
Example #2
0
bool CProjectFileParser::parseXMLFile(QFile &f)
{
    loaded = false;

    QXmlStreamReader reader;
    reader.setDevice( &f );

    reader.readNext();
    if( reader.atEnd() )
        return false;

    while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "project" ) ) )
        reader.readNext();
    if( reader.atEnd() )
        return false;

    while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "header" ) ) )
        reader.readNext();
    if( reader.atEnd() )
        return false;

    if( !parseHeader( reader ) )
        return false;

    if( !parseGUIFiles( reader ) )
        return false;

    if( !parseMapFiles( reader ) )
        return false;

    loaded = true;
    return true;
}
Example #3
0
void RssParser::parseAtomChannel(QXmlStreamReader& xml, const QString& feedUrl)
{
  qDebug() << Q_FUNC_INFO << feedUrl;
  Q_ASSERT(xml.isStartElement() && xml.name() == "feed");

  QString baseURL = xml.attributes().value("xml:base").toString();

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

    if (xml.isStartElement()) {
      if (xml.name() == "title") {
        QString title = xml.readElementText();
        emit feedTitle(feedUrl, title);
      }
      else if (xml.name() == "updated") {
        QString lastBuildDate = xml.readElementText();
        if (!lastBuildDate.isEmpty()) {
          QMutexLocker locker(&m_mutex);
          if (m_lastBuildDates.value(feedUrl) == lastBuildDate) {
            qDebug() << "The RSS feed has not changed since last time, aborting parsing.";
            return;
          }
          m_lastBuildDates[feedUrl] = lastBuildDate;
        }
      }
      else if (xml.name() == "entry") {
        parseAtomArticle(xml, feedUrl, baseURL);
      }
    }
  }
}
Example #4
0
//=============================================================================
bool GoogleEngine::parseForecastCondition(QXmlStreamReader &xml,
                                          WeatherInfo &aInfo,
                                          int aForecastDay)
{
    if (!QString::compare(xml.name().toString(),"forecast_conditions")) {
        xml.readNext();
        while (!(xml.tokenType() == QXmlStreamReader::EndElement &&
                 xml.name() == "forecast_conditions")) {
            if ( xml.isStartElement() && xml.name() == "high") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mOneDay[aForecastDay].mTempH =
                        xml.attributes().value("data").toString().toInt();
            }
            if ( xml.isStartElement() && xml.name() == "day_of_week") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mOneDay[aForecastDay].mDay =
                        xml.attributes().value("data").toString();
            }
            if ( xml.isStartElement() && xml.name() == "low") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mOneDay[aForecastDay].mTempL =
                        xml.attributes().value("data").toString().toInt();
            }
            if ( xml.isStartElement() && xml.name() == "condition") {
                qDebug() << "attribute : " << xml.attributes().value("data").toString();
                aInfo.mOneDay[aForecastDay].mSkyCode =
                        xml.attributes().value("data").toString();
            }
            xml.readNext();
        }
        return true;
    }
    return false;
}
Example #5
0
bool PdmlFileFormat::isMyFileFormat(const QString fileName)
{
    bool ret = false;
    QFile file(fileName);
    QByteArray buf;
    QXmlStreamReader xml;

    if (!file.open(QIODevice::ReadOnly))
        goto _exit;

    xml.setDevice(&file);

    xml.readNext();
    if (xml.hasError() || !xml.isStartDocument())
        goto _close_exit;

    // skip everything until the start of the first element
    while (!xml.isStartElement()) 
    {
        xml.readNext();
        if (xml.hasError())
            goto _close_exit;
    }

    if (!xml.hasError() && xml.isStartElement() && (xml.name() == "pdml"))
        ret = true;
    else
        ret = false;

_close_exit:
    xml.clear();
    file.close();
_exit:
    return ret;
}
Example #6
0
    /*!
     * \brief Parse and show the output from git-log
     *
     * We parse the output from previous git-log, and
     * then show the result in a QListWidget. The hash from
     * git log is not shown, but is used later to allow the
     * user to select an item, an recover that point in
     * history.
     */
    void GitManager::slotUpdateHistory()
    {
        QString data = "<gitHistory>\n";
        data.append(gitProcessHistory->readAllStandardOutput());
        data.append("\n</gitHistory>");

        ui.listHistory->clear();
        QXmlStreamReader *reader = new QXmlStreamReader(data.toUtf8());

        while(!reader->atEnd()) {
            reader->readNext();

            if(reader->isStartElement() && reader->name() == "commit") {
                QListWidgetItem *item = new QListWidgetItem(ui.listHistory);
                while(!reader->isEndElement() || reader->name() != "commit") {

                    reader->readNext();
                    if(reader->isStartElement() && reader->name() == "msg") {
                        item->setText(reader->readElementText());
                    }
                    else if(reader->isStartElement() && reader->name() == "hash") {
                        item->setData(Qt::AccessibleDescriptionRole, reader->readElementText());
                    }
                }
            }
        }

    }
KnowledgeBase::Metadata KnowledgeBaseParser::parseMetadata( QXmlStreamReader &xml )
{
    KnowledgeBase::Metadata meta;
    meta.status.clear();
    meta.message.clear();
    meta.totalItems = 0;
    meta.itemsPerPage = 0;

    while ( !xml.atEnd() ) {
        xml.readNext();
        if (xml.isStartElement() && xml.name() == "meta") {
            while ( !xml.atEnd() ) {
                xml.readNext();
                if (xml.isEndElement() && xml.name() == "meta") {
                    break;
                } else if (xml.isStartElement()) {
                    if (xml.name() == "status") {
                        meta.status = xml.readElementText();
                    } else if (xml.name() == "message") {
                        meta.message = xml.readElementText();
                    } else if (xml.name() == "totalitems") {
                        meta.totalItems = xml.readElementText().toInt();
                    } else if (xml.name() == "itemsperpage") {
                        meta.itemsPerPage = xml.readElementText().toInt();
                    }
                }
            }
            break;
        }
    }

    return meta;
}
Example #8
0
bool CProjectFileParser::parseMapFiles( QXmlStreamReader &reader )
{
    while( !reader.atEnd() && !( reader.isStartElement() && reader.name() == "mapfiles" ) )
        reader.readNext();
    if( reader.atEnd() )
        return false;

    while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "mapfiles" ) ) )
    {
        if( reader.isStartElement() && ( reader.name() == "file" ) )
        {
            QString fileName = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement );
            if( fileName.isEmpty() )
                return false;
            files.mapFiles.push_back( fileName.toUtf8().constData() );

        }

        reader.readNext();
    }
    if( files.mapFiles.empty() )
        return false;

    return true;
}
	void CWidgetPropParser::parseGUIWidgetXML( QFile &file )
	{
		QXmlStreamReader reader;
		reader.setDevice( &file );

		reader.readNext();
		if( reader.atEnd() )
			return;

		while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "widget" ) ) )
			reader.readNext();
		if( reader.atEnd() )
			return;

		while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "header" ) ) )
			reader.readNext();
		if( reader.atEnd() )
			return;

		QString name = parseGUIWidgetHeader( reader );
		if( name.isEmpty() )
		{
			nlwarning( "malformed XML." );
			return;
		}

		while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "properties" ) ) )
			reader.readNext();
		if( reader.atEnd() )
			return;

		parseGUIWidgetProperties( reader, name );
	}
QMultiMap<QString, QString>* FileManager::caricaCollegamenti() const
{
    QMultiMap<QString, QString>* lista = new QMultiMap<QString, QString>();
    QXmlStreamReader rxml;

    QFile file(_fileNameReti);
    if (file.open(QFile::ReadOnly | QFile::Text))
    {
        rxml.setDevice(&file);
        rxml.readNext();

        QString utente1, utente2;

        bool collegamentoAperto = false;

        while(!rxml.atEnd())
        {
            if(rxml.isStartElement())
            {
                if(rxml.name() == "Rete")
                    rxml.readNext();
                else if(rxml.name() == "Collegamento")
                {
                    collegamentoAperto = true;

                    while(!rxml.atEnd())
                    {
                        if(rxml.isEndElement())
                        {
                            if(collegamentoAperto)
                            {
                                lista->insert(utente1, utente2);
                                collegamentoAperto = false;
                            }
                            rxml.readNext();
                            break;
                        }
                        else if(rxml.isCharacters())
                            rxml.readNext();
                        else if(rxml.isStartElement())
                        {
                            if(rxml.name() == "Utente1")
                                utente1 = rxml.readElementText();
                            else if(rxml.name() == "Utente2")
                                utente2 = rxml.readElementText();
                            rxml.readNext();
                        }
                        else
                            rxml.readNext();
                    }
                }
            }
            else
                rxml.readNext();
        }
        file.close();
    }
    return lista;
}
	void CWidgetPropParser::parseGUIWidgetProperties( QXmlStreamReader &reader, const QString &widgetName )
	{
		reader.readNext();
		if( reader.atEnd() )
			return;

		std::map< std::string, SWidgetInfo >::iterator itr =
			widgetInfo->find( widgetName.toUtf8().constData() );
		if( itr == widgetInfo->end() )
			return;

		std::vector< SPropEntry > &v = itr->second.props;

		while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "properties" ) ) )
		{
			if( reader.isStartElement() && reader.name() == "property" )
			{
				SPropEntry prop;
				reader.readNext();

				while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "property" ) ) )
				{
					if( reader.isStartElement() )
					{
						QString key = reader.name().toString();
						QString value = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement );

						if( !reader.hasError() )
						{
							if( key == "name" )
								prop.propName = value.toUtf8().constData();
							else
							if( key == "type" )
								prop.propType = value.toUtf8().constData();
							else
							if( key == "default" )
								prop.propDefault = value.toUtf8().constData();
							else
								nlwarning( QString( "Unknown tag %1 within a property" ).arg( key ).toUtf8().constData() );

						}
						else
							nlwarning( "Malformed XML." );
					}
					
					reader.readNext();
				}
				if( reader.atEnd() )
					return;
				
				v.push_back( prop );
			}

			reader.readNext();
		}
	}
Example #12
0
QStringList rpnoc::Profile::readXml( const QString &iUsername )
{
	QString oUser, oPass, oAddr, oPort;
	QString oUserName = iUsername.toLower();
	QFile oFile("profiles/" + oUserName + "/" + oUserName + ".xml");

	if( !oFile.open( QIODevice::ReadOnly ) ) {
		log_e( "Failed to open file '" + oFile.errorString() + "' for reading." );
	}

	QXmlStreamReader oReader;
	oReader.setDevice( &oFile );

	oReader.readNext();
	while(!oReader.atEnd()){
		if(oReader.isStartElement()){
			if(oReader.name() == "personalia"){
				oReader.readNext();
				while(!oReader.atEnd()){
					if(oReader.isEndElement()){
						oReader.readNext();
					}
					if(oReader.isStartElement()){
						if(oReader.name() == "user"){
							oUser = oReader.attributes().value("username").toString();
							oReader.readNext();
						}else if(oReader.name() == "pass"){
							oPass = oReader.attributes().value("password").toString();
							oReader.readNext();
						}else if(oReader.name() == "addr"){
							oAddr = oReader.attributes().value("address").toString();
							oReader.readNext();
						}else if(oReader.name() == "port"){
							oPort = oReader.attributes().value("portnr").toString();
							oReader.readNext();
						}
					}else{
						oReader.readNext();
					}
				}
			}else{
				oReader.raiseError(QObject::tr("Not a user file"));
			}
		}else{
			oReader.readNext();
		}
	}

	oFile.close();

	QStringList oStringList;
	oStringList << oUser << oPass << oAddr << oPort;
	return oStringList;
}
CQTs_Class::CQTs_Class(QXmlStreamReader &xml){
    spellcaster = false;
    //trusting this:if(xml.name()=="class"&&xml.isStartElement())
    QString code = xml.attributes().value("code").toString();
    append(code);
    Name = code;//in case classnames are not loaded
    bool bab1=false,bab2=false;
    int bab = xml.attributes().value("bab").toInt();
    if(bab==1)
        bab1=true;
    else if(bab==2)
        bab2=true;
    bool f = xml.attributes().value("fort").toInt();
    bool r = xml.attributes().value("ref").toInt();
    bool w = xml.attributes().value("will").toInt();
    bool data[5] = {bab1,bab2,f,r,w};
    std::copy(data,data+5,info);
    lmax = xml.attributes().value("lmax").toInt();
    QStringList skillList;
    do{
        xml.readNext();
        if(xml.name()=="classskills"&&xml.isStartElement()){
            do{
                xml.readNext();
                if(xml.name()=="skill"&&xml.isStartElement()){
                    QString skillcode = xml.attributes().value("code").toString();
                    skillList.push_back(skillcode);
                }
            }while(!(xml.name()=="classskills"&&xml.isEndElement()));
        }
        if(xml.name()=="progression"&&xml.isStartElement()){//load progression
            DV = xml.attributes().value("dv").toInt();
            Ranks = xml.attributes().value("skillpoints").toInt();
            do{
                xml.readNext();
                if(xml.name()=="level"&&xml.isStartElement()){
                    //spell progression
                    int lv = xml.attributes().value("n").toInt();
                    if(xml.attributes().hasAttribute("spells")){
                        spellcaster = true;
                        for (int i = spellNumberList.size(); i < lv-1; ++i)
                            spellNumberList.append("-");
                        spellNumberList.append(xml.attributes().value("spells").toString());
                    }
                }
            }while(!(xml.name()=="progression"&&xml.isEndElement()));
        }

    }while(!(xml.isEndElement()&&xml.name()=="class"));
    if(skillList.size()>0)
        setSkills(skillList);
}
Example #14
0
void cProfileSettings::load ()
{
  cProfileManager *pm = cProfileManager::self();
  
  QString path = pm->profilePath (d->profileId);
  QDir dir = QDir (path);
  if (!dir.exists()) QDir::root().mkpath (dir.absolutePath());

  QFile f (path + "/settings.xml");
  if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) {
    kWarning() << "No settings file - nothing to do." << endl;
    return;  // no profiles - nothing to do
  }
  QXmlStreamReader *reader = new QXmlStreamReader (&f);
  
  reader->readNext ();  // read the document start
  reader->readNext ();
  if (reader->isStartElement ())
    if (reader->name() == "profile")
      if (reader->attributes().value ("version") == "1.0") {
        // okay, read the list
        while (!reader->atEnd()) {
          reader->readNext ();
          if (reader->isStartElement () && (reader->name() == "setting")) {
            QString type = reader->attributes().value ("type").toString();
            QString name = reader->attributes().value ("name").toString();
            QString value = reader->attributes().value ("value").toString();
            if (type == "integer")
              setInt (name, value.toInt());
            else if (type == "bool")
              setBool (name, (value == "true"));
            else if (type == "string")
              setString (name, value);
            else
              kDebug() << "Unrecognized setting type " << type << endl;
          }
        }
      } else reader->raiseError ("Unknown profile file version.");
    else reader->raiseError ("This is not a valid profile list file.");
  else reader->raiseError ("This file is corrupted.");

  if (reader->hasError()) {
    kWarning() << ("Error in settings.xml at line " + QString::number (reader->lineNumber()) + ", column " + QString::number (reader->columnNumber()) + QString (": ") + reader->errorString()) << endl;
  }

  // close the file
  f.close ();
  delete reader;
}
void LinNativeDisplayForm::parseRSSChannel(
  QXmlStreamReader &textReader)
{
  QString htmlOutput = htmlPrefix;

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

    if (textReader.isStartElement())
    {
      if (textReader.name() == "item")
      {
        parseRSSItem(htmlOutput, textReader);
      }
    }

    else if (textReader.isEndElement())
    {
      if (textReader.name() == "channel")
      {
        htmlOutput +=" </body>\n</html>";
        setHtml(htmlOutput, sourceUrl);

        break;
      }
    }
  }
}
Example #16
0
void PumpSpreadsheet::readTransactionElement(QXmlStreamReader &reader)
{
    QMap<QString, QString> map;

    reader.readNext();
    while (!reader.atEnd()) {
        if (reader.isEndElement()) {
            reader.readNext();
            break;
        }

        if (reader.isStartElement()) {
            QString key = reader.name().toString();
            map.insert(key, reader.readElementText());
        }
        reader.readNext();
    }

    QStringList fields;
    fields << map.value("date") << map.value("time")
           << map.value("pump") << map.value("company")
           << map.value("user") << map.value("quantity")
           << map.value("status");
    addItem(fields);
}
Example #17
0
Forum Forum::Parser::parseXml(QXmlStreamReader &xml)
{
    Forum forum;

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

        if (xml.isStartElement()) {
            if (xml.name() == QLatin1String("id")) {
                forum.setId(xml.readElementText());
            } else if (xml.name() == QLatin1String("name")) {
                forum.setName(xml.readElementText());
            } else if (xml.name() == QLatin1String("description")) {
                forum.setDescription(xml.readElementText());
            } else if (xml.name() == QLatin1String("date")) {
                forum.setDate(Utils::parseQtDateTimeIso8601(xml.readElementText()));
            } else if (xml.name() == QLatin1String("icon")) {
                forum.setIcon(QUrl(xml.readElementText()));
            } else if (xml.name() == QLatin1String("childcount")) {
                forum.setChildCount(xml.readElementText().toInt());
            } else if (xml.name() == QLatin1String("children")) {
                QList<Forum> children = parseXmlChildren(xml);
                forum.setChildren(children);
            } else if (xml.name() == QLatin1String("topics")) {
                forum.setTopics(xml.readElementText().toInt());
            }
        } else if (xml.isEndElement() && xml.name() == QLatin1String("forum")) {
            break;
        }
    }

    return forum;
}
void
DictionaryLineDescHandler::run(QXmlStreamReader& xml)
{
  m_units = getUnitAttribute(xml, "DictionaryLineDesc", "units");
  while (!xml.atEnd() && !xml.hasError()) {
    xml.readNext();
    if (xml.isStartElement()) {
      if (xml.name() == "EntryLineDesc") {
        QString id = getStringAttribute(xml, "EntryLineDesc", "id");
        // id must be unique
        if (g_entryLineDescs.contains(id)) {
          throw new DuplicateIdError("DictionaryLineDesc", id);
        }
        // create element and insert to hash table
        xml.readNextStartElement(); // <LineDesc>
        LineDesc l;
        l.initialize(xml, m_units);
        g_entryLineDescs.insert(id, l);
      }
    }
    else if (isEndElementWithName(xml, "DictionaryLineDesc")) {
      break;
    }
  }
}
Example #19
0
void
Polygon::initialize(QXmlStreamReader& xml, UnitsType units)
{
  while (!xml.atEnd() && !xml.hasError()) {
    xml.readNext();
    if (xml.isStartElement()) {
      if (xml.name() == "PolyBegin") {
        m_polyBegin.rx() = toInch(
            getDoubleAttribute(xml, "PolyBegin", "x"), units);
        m_polyBegin.ry() = toInch(
            getDoubleAttribute(xml, "PolyBegin", "y"), units);
      }
      else if (isSubstitutionGroupPolyStep(xml.name())) {
        PolyStep *p = PolyStepFactory().create(xml.name());
        p->initialize(xml, units);
        m_polySteps.append(p);
      }
    }
    else if (isEndElementWithName(xml, "Polygon") || // </Polygon> the end
             isEndElementWithName(xml, "Cutout")) { // another possible name
      if (!isClosedShape()) {
        throw new InvalidElementError("Polygon");
      }
      return;
    }
  }
}
Example #20
0
// Read all current controls from an XML stream
bool US_RunProtocol::fromXml( QXmlStreamReader& xmli )
{
   while( ! xmli.atEnd() )
   {
      xmli.readNext();

      if ( xmli.isStartElement() )
      {
         QString ename   = xmli.name().toString();

         if ( ename == "protocol" )
         {
            QXmlStreamAttributes attr = xmli.attributes();
            protname        = attr.value( "description"  ).toString();
            pGUID           = attr.value( "guid"         ).toString();
            optimahost      = attr.value( "optima_host"  ).toString();
            investigator    = attr.value( "investigator" ).toString();
            temperature     = attr.value( "temperature"  ).toString().toDouble();
            QString s_ted   = attr.value( "temeq_delay"  ).toString();
            temeq_delay     = s_ted.isEmpty() ? temeq_delay : s_ted.toDouble();
         }

         else if ( ename == "rotor" )      { rpRotor.fromXml( xmli ); }
         else if ( ename == "speed" )      { rpSpeed.fromXml( xmli ); }
         else if ( ename == "cells" )      { rpCells.fromXml( xmli ); }
         else if ( ename == "solutions" )  { rpSolut.fromXml( xmli ); }
         else if ( ename == "optics" )     { rpOptic.fromXml( xmli ); }
         else if ( ename == "ranges"  )    { rpRange.fromXml( xmli ); }
         else if ( ename == "spectra" )    { rpRange.fromXml( xmli ); }
      }
   }

   return ( ! xmli.hasError() );
}
Example #21
0
RemoteAccount RemoteAccount::Parser::parseXml(QXmlStreamReader& xml)
{
    RemoteAccount remoteaccount;

    // For specs about the XML provided, see here:
    // http://www.freedesktop.org/wiki/Specifications/open-collaboration-services-draft#RemoteAccounts
    while (!xml.atEnd()) {
        //qDebug() << "XML returned:" << xml.text().toString();
        xml.readNext();

        if (xml.isStartElement()) {
            if (xml.name() == "id") {
                remoteaccount.setId(xml.readElementText());
            } else if (xml.name() == "type") {
                remoteaccount.setType(xml.readElementText());
            } else if (xml.name() == "typeid") {  // FIXME: change to remoteserviceid sometime soon (OCS API change pending
                remoteaccount.setRemoteServiceId(xml.readElementText());
            } else if (xml.name() == "data") {
                remoteaccount.setData(xml.readElementText());
            } else if (xml.name() == "login") {
                remoteaccount.setLogin(xml.readElementText());
            } else if (xml.name() == "password") {
                remoteaccount.setPassword(xml.readElementText());
            }
        } else if (xml.isEndElement() && (xml.name() == "remoteaccount" || xml.name() == "user")) {
            break;
        }
    }
    return remoteaccount;
}
Example #22
0
//Get config from xml file
void queryFromConfigStream(QXmlStreamReader& reader)
{
   xgxPerfConfigParams* inParams;
   QString currVal1, currVal2, currName;
    while (!reader.atEnd()) 
    {
        reader.readNext();
        if (reader.isStartElement()) {
            if(reader.name() == "object")
	    {
                currVal1 = reader.attributes().value("type").toString();
		//qDebug() << "object type = " << currVal1;
		inParams = new xgxPerfConfigParams;
		xgxPerfConfigParamsList << inParams;
	    }
	    else if(reader.name() == "param")
	    {
                currName = reader.attributes().value("name").toString();
                currVal2 = reader.attributes().value("value").toString();
		//qDebug() << "param name = " << currName << " ,value = " << currVal2 ;		
		if(currName == "iconName") inParams->iconName = currVal2;
		else if(currName == "iconLabel") inParams->iconLabel = currVal2;
		else if(currName == "appName") inParams->appName = currVal2;
		else if(currName == "appParameters") inParams->appParameters = currVal2;
		else if(currName == "appParameters2") inParams->appParameters2 = currVal2;
	    }
        }
    }
    if (reader.hasError()) {
        qDebug() << "  Error in HTML file formation" << reader.errorString();
    }
}
Example #23
0
// Read all current Optical Systems controls from an XML stream
bool US_RunProtocol::RunProtoOptics::fromXml( QXmlStreamReader& xmli )
{
   nochan               = 0;
   chopts.clear();

   while( ! xmli.atEnd() )
   {
      QString ename   = xmli.name().toString();

      if ( xmli.isStartElement() )
      {
         if ( ename == "optical_system" )
         {
            OpticSys os;
            QXmlStreamAttributes attr = xmli.attributes();
            os.channel   = attr.value( "channel" ).toString();
            os.scan1     = attr.value( "scan1"   ).toString();
            os.scan2     = attr.value( "scan2"   ).toString();
            os.scan3     = attr.value( "scan3"   ).toString();
            chopts << os;
            nochan++;
         }
      }

      bool was_end    = xmli.isEndElement();   // Just read was End of element?
      xmli.readNext();                         // Read the next element

      if ( was_end  &&  ename == "optics" )    // Break after "</optics>"
         break;
   }

   return ( ! xmli.hasError() );
}
Example #24
0
Distance::Distance(QXmlStreamReader &xmlReader) {
    xmlReader.readNext();
    while(!xmlReader.atEnd()) {
        if (xmlReader.isEndElement()) {
            xmlReader.readNext();
            break;
        }
        if (xmlReader.isStartElement()) {
            if (xmlReader.name() == "dist") {               
                dist = xmlReader.readElementText().toDouble();
                xmlReader.readNext();
            } else if (xmlReader.name() == "unit") {
                QString u = xmlReader.readElementText();
                if (u == "KM") {
                    unit = KM;
                } else if (u == "MILE") {
                    unit = MILE;
                } else {
                    unit = KM;
                }
                xmlReader.readNext();
            } else {
                Helper::skipUnknownElements(xmlReader);
            }
        } else {
            xmlReader.readNext();
        }
    }
}
Example #25
0
void GlobStore::readData(QXmlStreamReader& xml)
{
    int tmp;
    while (!xml.atEnd()) {
        xml.readNext();
        if (xml.isEndElement())
            break;
        if (xml.name() == "timeMode") {
            tmp =xml.readElementText().toInt();
            timeModeBox->setCurrentIndex(tmp);
            updateTimeModeBox(tmp);
        }
        else if (xml.name() == "switchAtBeat") {
            tmp =xml.readElementText().toInt();
            switchAtBeatBox->setCurrentIndex(tmp);
            updateSwitchAtBeat(tmp);
        }
        else if (xml.name() == "timeModule") {
            tmp =xml.readElementText().toInt();
            if (tmp > -1) timeModuleBox->setCurrentIndex(tmp);
            updateTimeModule(tmp);
        }
        else if (xml.isStartElement() && (xml.name() == "midiControllers")) {
            midiControl->readData(xml);
        }
        else skipXmlElement(xml);
    }
    modified = false;
}
Example #26
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();
}
Example #27
0
void GlobStore::skipXmlElement(QXmlStreamReader& xml)
{
    if (xml.isStartElement()) {
        qWarning("Unknown Element in XML File: %s",qPrintable(xml.name().toString()));
        while (!xml.atEnd()) {
            xml.readNext();

            if (xml.isEndElement())
                break;

            if (xml.isStartElement()) {
                skipXmlElement(xml);
            }
        }
    }
}
Example #28
0
int CVBAOptions::fromXml(QXmlStreamReader& XmlReader) {
	/* Emulator-spezifische Optionen einlesen */
	while(!XmlReader.atEnd()) {
		XmlReader.readNext();
		
		if(XmlReader.isStartElement()) {
			if(XmlReader.qualifiedName().toString()=="commandline") {
				// Befehlszeile
				this->setEmuCommand(XmlReader.readElementText());
			}
			else if(XmlReader.qualifiedName().toString()=="fullscreen") {
				//Vollbildmodus
				if(XmlReader.readElementText()=="true") this->setFullscreen(true);
				else this->setFullscreen(false);
			}
			else if(XmlReader.qualifiedName().toString()=="scale") {
				//Fenstervergrößerung
				this->setScale(XmlReader.readElementText().toShort());
			}
		}
		else if(XmlReader.isEndElement() && XmlReader.qualifiedName().toString()=="options") {
			/* Abbruch, wenn Optionen zu Ende sind */
			break; // Ende der Optionenliste erreicht
		}
	}
	return 0;
}
Example #29
0
Question XmlUtil::parseIdentificationQuestion(QXmlStreamReader &reader) {
	assert(reader.name() == "identification");
	const QXmlStreamAttributes &attrs = reader.attributes();

	Question q;
	q.type = Question::IDENTIFICATION;
	optional_assign(attrs, "score", q.score, reader);
	optional_assign(attrs, "time_limit", q.time_limit, reader);
	optional_assign(attrs, "id", q.id, reader);

	while ( !reader.atEnd() ) {
		reader.readNext();
		{
			const QStringRef &ns = reader.namespaceUri();
			if ( !ns.isEmpty() && ns != XML_NS ) continue;
		}
		if ( reader.isStartElement() ) {
			if ( reader.name() == "q" ) {
				q.question = reader.readElementText();
			} else if ( reader.name() == "a" )  {
				QString answer = reader.readElementText();
				q.answer_key.push_back(Question::AnswerKeyEntry(answer, true));
				q.answer.append(answer+" - ");
			} else if ( reader.name() == "identification" ) {
				throw InvalidXmlException("'identification' tag found inside 'identification'.", reader);
			} else {
				//barf?
			}
		} else if ( reader.isEndElement() && reader.name() == "identification" )
			break;
	}
	return q;
}
void
Features::initialize(QXmlStreamReader& xml, UnitsType units)
{
  m_xform = NULL;
  m_feature = NULL;
  while (!xml.atEnd() && !xml.hasError()) {
    xml.readNext();
    if (xml.isStartElement()) {
      if (xml.name() == "Xform") {
        m_xform = new Xform();
        m_xform->initialize(xml);
      }
      else if (xml.name() == "Location") {
        m_location = QPointF(
            toInch(getDoubleAttribute(xml, "Location", "x"), units),
            toInch(getDoubleAttribute(xml, "Location", "y"), units));
      }
      else if (isSubstitutionGroupFeature(xml.name())) {
        m_feature = FeatureFactory().create(xml.name());
        m_feature->initialize(xml, units);
      }
    }
    else if (isEndElementWithName(xml, "Features")) { // </Features>
      if (m_feature == NULL) {
        throw new InvalidElementError("Features");
      }
      return;
    }
  }
}