void DrawingAnchor::loadXmlObjectPicture(QXmlStreamReader &reader)
{
    Q_ASSERT(reader.name() == QLatin1String("pic"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("blip")) {
                QString rId = reader.attributes().value(QLatin1String("r:embed")).toString();
                QString name = m_drawing->relationships()->getRelationshipById(rId).target;
                QString path = QDir::cleanPath(splitPath(m_drawing->filePath())[0] + QLatin1String("/") + name);

                bool exist = false;
                QList<QSharedPointer<MediaFile> > mfs = m_drawing->workbook->mediaFiles();
                for (int i=0; i<mfs.size(); ++i) {
                    if (mfs[i]->fileName() == path) {
                        //already exist
                        exist = true;
                        m_pictureFile = mfs[i];
                    }
                }
                if (!exist) {
                    m_pictureFile = QSharedPointer<MediaFile> (new MediaFile(path));
                    m_drawing->workbook->addMediaFile(m_pictureFile, true);
                }
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == QLatin1String("pic")) {
            break;
        }
    }

    return;
}
bool ConditionalFormatting::loadFromXml(QXmlStreamReader &reader, Styles *styles)
{
    Q_ASSERT(reader.name() == QStringLiteral("conditionalFormatting"));

    d->ranges.clear();
    d->cfRules.clear();
    QXmlStreamAttributes attrs = reader.attributes();
    QString sqref = attrs.value(QLatin1String("sqref")).toString();
    foreach (QString range, sqref.split(QLatin1Char(' ')))
        this->addRange(range);

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("cfRule")) {
                QSharedPointer<XlsxCfRuleData> cfRule(new XlsxCfRuleData);
                d->readCfRule(reader, cfRule.data(), styles);
                d->cfRules.append(cfRule);
            }
        }
        if (reader.tokenType() == QXmlStreamReader::EndElement
                && reader.name() == QStringLiteral("conditionalFormatting")) {
            break;
        }
    }


    return true;
}
bool ConditionalFormattingPrivate::readCfColorScale(QXmlStreamReader &reader, XlsxCfRuleData *rule)
{
    Q_ASSERT(reader.name() == QLatin1String("colorScale"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("cfvo")) {
                XlsxCfVoData data;
                readCfVo(reader, data);
                if (!rule->attrs.contains(XlsxCfRuleData::A_cfvo1))
                    rule->attrs[XlsxCfRuleData::A_cfvo1] = QVariant::fromValue(data);
                else if (!rule->attrs.contains(XlsxCfRuleData::A_cfvo2))
                    rule->attrs[XlsxCfRuleData::A_cfvo2] = QVariant::fromValue(data);
                else
                    rule->attrs[XlsxCfRuleData::A_cfvo2] = QVariant::fromValue(data);
            } else if (reader.name() == QLatin1String("color")) {
                XlsxColor color;
                color.loadFromXml(reader);
                if (!rule->attrs.contains(XlsxCfRuleData::A_color1))
                    rule->attrs[XlsxCfRuleData::A_color1] = color;
                else if (!rule->attrs.contains(XlsxCfRuleData::A_color2))
                    rule->attrs[XlsxCfRuleData::A_color2] = color;
                else
                    rule->attrs[XlsxCfRuleData::A_color3] = color;
            }
        }
        if (reader.tokenType() == QXmlStreamReader::EndElement
                && reader.name() == QStringLiteral("colorScale")) {
            break;
        }
    }

    return true;
}
Example #4
0
void radeon_profile::loadOcProfile(QXmlStreamReader &xml) {
    const QString name = xml.attributes().value("name").toString();

    OCProfile ocp;
    ocp.powerCap = xml.attributes().value("powerCap").toInt();


    FVTable table;
    QString tableName;
    while(xml.readNext()) {
        if (xml.name().toString() == "table" && !xml.attributes().value("tableName").isEmpty())
            tableName = xml.attributes().value("tableName").toString();

        if (xml.name().toString() == "state" && !xml.attributes().value("stateNumber").isEmpty()) {
            table.insert(xml.attributes().value("stateNumber").toUInt(),
                         FreqVoltPair(xml.attributes().value("frequency").toUInt(),
                                      xml.attributes().value("voltage").toUInt()));
        }

        if (xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == "table") {
            ocp.tables.insert(tableName, table);
            table.clear();
            tableName = "";
        }

        if (xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == "ocProfile") {
            ocProfiles.insert(name, ocp);
            return;
        }
    }
}
XlsxMarker DrawingAnchor::loadXmlMarker(QXmlStreamReader &reader, const QString &node)
{
    Q_ASSERT(reader.name() == node);

    int col = 0;
    int colOffset = 0;
    int row = 0;
    int rowOffset = 0;
    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("col")) {
                col = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("colOff")) {
                colOffset = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("row")) {
                row = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("rowOff")) {
                rowOffset = reader.readElementText().toInt();
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == node) {
            break;
        }
    }

    return XlsxMarker(row, col, rowOffset, colOffset);
}
void DrawingAnchor::loadXmlObjectGraphicFrame(QXmlStreamReader &reader)
{
    Q_ASSERT(reader.name() == QLatin1String("graphicFrame"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("chart")) {
                QString rId = reader.attributes().value(QLatin1String("r:id")).toString();
                QString name = m_drawing->relationships()->getRelationshipById(rId).target;
                QString path = QDir::cleanPath(splitPath(m_drawing->filePath())[0] + QLatin1String("/") + name);

                bool exist = false;
                QList<QSharedPointer<Chart> > cfs = m_drawing->workbook->chartFiles();
                for (int i=0; i<cfs.size(); ++i) {
                    if (cfs[i]->filePath() == path) {
                        //already exist
                        exist = true;
                        m_chartFile = cfs[i];
                    }
                }
                if (!exist) {
                    m_chartFile = QSharedPointer<Chart> (new Chart(m_drawing->sheet, Chart::F_LoadFromExists));
                    m_chartFile->setFilePath(path);
                    m_drawing->workbook->addChartFile(m_chartFile);
                }
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == QLatin1String("graphicFrame")) {
            break;
        }
    }

    return;
}
QMap<QString, QString> TabDialog::parseSectionGroup(QXmlStreamReader& xml) {
    QMap<QString, QString> sectionGroup;
    /* Let's check that we're really getting a sectionGroup. */
    if(xml.tokenType() != QXmlStreamReader::StartElement &&
            xml.name() == "sectionGroup") {
        return sectionGroup;
    }
    /* Let's get the attributes for sectionGroup */
    QXmlStreamAttributes attributes = xml.attributes();
    /* Let's check that sectionGroup has name attribute. */
    if(attributes.hasAttribute("name")) {
        /* We'll add it to the map. */
        sectionGroup["name"] = attributes.value("name").toString();
    }
    /* 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 sectionGroup.
     */
    while(!(xml.tokenType() == QXmlStreamReader::EndElement &&
            xml.name() == "sectionGroup")) {
        if(xml.tokenType() == QXmlStreamReader::StartElement) {
            /* We've add all section filters to Map. */
            if(xml.name() == "section") {
                this->addElementDataToMap(xml, sectionGroup);
            }
        }
        /* ...and next... */
        xml.readNext();
    }
    return sectionGroup;
}
QMap<QString,QString> databaseFile:: parseEach(QString table,QXmlStreamReader& xml)
{
    QMap<QString,QString> classDB;
    /* Let's check that we're really getting a class */
    if(xml.tokenType() != QXmlStreamReader::StartElement &&
            xml.name() == table) {
        return classDB;
    }
    xml.readNext();
    while(!(xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == table))
    {
        if(xml.tokenType() == QXmlStreamReader::StartElement)
        {
            QString name = xml.name().toString();
            QList<QString> dbGet = getDbStructure(table);
            int numElement = dbGet.count();
            for(int i=0; i<numElement; i++)
                if(name == dbGet.at(i))
                {
                    classDB[dbGet.at(i)] = xml.readElementText();
                    break;
                }
        }
        xml.readNext();
    }
    return classDB;
}
Example #9
0
void KeywordList::load(QXmlStreamReader& reader)
{
    Q_ASSERT(reader.name() == QLatin1String("list"));
    Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);

    m_name = reader.attributes().value(QStringLiteral("name")).toString();

    while (!reader.atEnd()) {
        switch (reader.tokenType()) {
            case QXmlStreamReader::StartElement:
                if (reader.name() == QLatin1String("item")) {
                    m_keywords.append(reader.readElementText().trimmed());
                    reader.readNextStartElement();
                    break;
                }
                reader.readNext();
                break;
            case QXmlStreamReader::EndElement:
                reader.readNext();
                return;
            default:
                reader.readNext();
                break;
        }
    }
}
Example #10
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;
}
Example #11
0
bool ChartPrivate::loadXmlXxxChart(QXmlStreamReader &reader)
{
    QStringRef name = reader.name();
    if (name == QLatin1String("pieChart")) chartType = Chart::CT_Pie;
    else if (name == QLatin1String("pie3DChart")) chartType = Chart::CT_Pie3D;
    else if (name == QLatin1String("barChart")) chartType = Chart::CT_Bar;
    else if (name == QLatin1String("bar3DChart")) chartType = Chart::CT_Bar3D;
    else if (name == QLatin1String("lineChart")) chartType = Chart::CT_Line;
    else if (name == QLatin1String("line3DChart")) chartType = Chart::CT_Line3D;
    else if (name == QLatin1String("scatterChart")) chartType = Chart::CT_Scatter;
    else if (name == QLatin1String("areaChart")) chartType = Chart::CT_Area;
    else if (name == QLatin1String("area3DChart")) chartType = Chart::CT_Area3D;
    else if (name == QLatin1String("doughnutChart")) chartType = Chart::CT_Doughnut;
    else qDebug()<<"Cann't load chart: "<<name;

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("ser")) {
                loadXmlSer(reader);
            } else if (reader.name() == QLatin1String("axId")) {

            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == name) {
            break;
        }
    }
    return true;
}
Example #12
0
Song MagnatuneXmlParser::parseSong(QXmlStreamReader &xml)
{
    Song s;
//    QString artistImg;
    QString albumImg;

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

        if (QXmlStreamReader::StartElement==xml.tokenType()) {
            QStringRef name = xml.name();
            QString value = xml.readElementText(QXmlStreamReader::SkipChildElements);

            if (QLatin1String("artist")==name) {
                s.artist=value;
            } else if (QLatin1String("albumname")==name) {
                s.album=value;
            } else if (QLatin1String("trackname")==name) {
                s.title=value;
            } else if (QLatin1String("tracknum")==name) {
                s.track=value.toInt();
            } else if (QLatin1String("year")==name) {
                s.year=value.toInt();
            } else  if (QLatin1String("magnatunegenres")==name) {
                QStringList genres=value.split(',', QString::SkipEmptyParts);
//                foreach (const QString &g, genres) {
//                    s.addGenre(g);
//                }
                s.genre=genres.first();
            } else if (QLatin1String("seconds")==name) {
                 s.time=value.toInt();
//            } else if (QLatin1String("cover_small")==name) {
//            } else if (QLatin1String("albumsku")==name) {
            } else if (QLatin1String("url")==name) {
                s.file=value;
            } /*else if (QLatin1String("artistphoto")==name) {
                artistImg=value;
            }*/ else if (QLatin1String("cover_small")==name) {
                albumImg=value;
            }
        } else if (QXmlStreamReader::EndElement==xml.tokenType()) {
            break;
        }
    }

    if (!albumImg.isEmpty()) {
        QString key=s.artistOrComposer()+"-"+s.albumId();
        if (!albumUrls.contains(key)) {
            albumUrls.insert(key);
            emit coverUrl(s.artistOrComposer(), s.album, albumImg);
        }
    }
    artists.insert(s.artistOrComposer());
    return s;
}
Example #13
0
void SaveManager::parseWorld(World *world, QXmlStreamReader& reader)
{
  int xWorld, yWorld;
  unsigned ageWorld, generationNumberWorld = 0;
  bool sizeXfound=false, sizeYfound=false;

  if(reader.tokenType() != QXmlStreamReader::StartElement &&
     reader.name() != "World")
  { // error
    std::cout << "Error in reading Wolrd" << std::endl;
  }
  reader.readNext();
  while(!(reader.tokenType() == QXmlStreamReader::EndElement &&
         reader.name() == "World"))
  {
    if(reader.tokenType() == QXmlStreamReader::StartElement)
    {
      if(reader.name() == "Entity")
      {
        SaveManager::parseEntity(world, reader);
      }
      else if(reader.name() == "x")
      {
        xWorld = reader.readElementText().toInt();
        sizeXfound = true;
        if(sizeXfound && sizeYfound)
            world->setSize(xWorld,yWorld);
      }
      else if(reader.name() == "y")
      {
        yWorld = reader.readElementText().toInt();
        sizeYfound = true;
        if(sizeXfound && sizeYfound)
            world->setSize(xWorld,yWorld);
      }
      else if(reader.name() == "age")
      {
        ageWorld = reader.readElementText().toUInt();
      }
      else if(reader.name() == "generationNumber")
      {
        generationNumberWorld = reader.readElementText().toUInt();
      }
      else
      { //error
        std::cout << "Unknown Token" << std::endl;
      }
    }
    reader.readNext();
  }

  world->setWorldAge(ageWorld);
  world->setGenerationNumber(generationNumberWorld);
}
Example #14
0
// METODO Database::parseUser( QXmlStreamReader& )
void Database::parseUser( QXmlStreamReader& xmlReader ) {
    if( xmlReader.tokenType() != QXmlStreamReader::StartElement &&
        xmlReader.name() != "user" ) {
        qDebug() << "Nessun elemento utente!";
        return;
    }

    Utente* u = 0;
    QString un = xmlReader.attributes().value( "login" ).toString();
    QString type = xmlReader.attributes().value( "type" ).toString();
    if( type == "basic" ) u = new UtenteBasic( un );
    else if( type == "executive" ) u = new UtenteExecutive( un );
    else if( type == "business" ) u = new UtenteBusiness( un );
    else qDebug() << "#"; // throw

    xmlReader.readNext();
    while( xmlReader.name() != "user" ||
           xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
        xmlReader.readNext();
        if( xmlReader.name() == "profile" ) {
            xmlReader.readNext();
            while( xmlReader.name() != "profile" ||
                   xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
                parseProfile( xmlReader, u );
                xmlReader.readNext();
            }
        }

        // L'aggiunta della lista dei contatti è necessario farla in un momento successivo,
        // quanto tutti gli utenti presenti nel file XML sono stati aggiunti al database.

        if( xmlReader.name() == "educations" ) {
            xmlReader.readNext();
            while( xmlReader.name() != "educations"
                   || xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
                if( xmlReader.name() == "title" )
                    parseEducation( xmlReader, u );
                xmlReader.readNext();
            }
        }
        if( xmlReader.name() == "experiences" ) {
            xmlReader.readNext();
            while( xmlReader.name() != "experiences"
                   || xmlReader.tokenType() != QXmlStreamReader::EndElement ) {
                if( xmlReader.name() == "job" )
                    parseExperience( xmlReader, u );
                xmlReader.readNext();
            }
        }
    }

    this->insert( u );
}
void DocumentModelPointMatch::loadXml(QXmlStreamReader &reader)
{
  LOG4CPP_INFO_S ((*mainCat)) << "DocumentModelPointMatch::loadXml";

  bool success = true;

  QXmlStreamAttributes attributes = reader.attributes();

  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_MATCH_POINT_SIZE) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_ACCEPTED) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_CANDIDATE) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_REJECTED)) {

    setMaxPointSize (attributes.value(DOCUMENT_SERIALIZE_POINT_MATCH_POINT_SIZE).toDouble());
    setPaletteColorAccepted ((ColorPalette) attributes.value(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_ACCEPTED).toInt());
    setPaletteColorCandidate ((ColorPalette) attributes.value(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_CANDIDATE).toInt());
    setPaletteColorRejected ((ColorPalette) attributes.value(DOCUMENT_SERIALIZE_POINT_MATCH_COLOR_REJECTED).toInt());

    // Read until end of this subtree
    while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
    (reader.name() != DOCUMENT_SERIALIZE_POINT_MATCH)){
      loadNextFromReader(reader);
      if (reader.atEnd()) {
        success = false;
        break;
      }
    }
  }

  if (!success) {
    reader.raiseError (QObject::tr ("Cannot read point match data"));
  }
}
Example #16
0
void PointStyle::loadXml(QXmlStreamReader &reader)
{
  LOG4CPP_INFO_S ((*mainCat)) << "PointStyle::loadXml";

  QXmlStreamAttributes attributes = reader.attributes();

  if (attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_STYLE_RADIUS) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_STYLE_LINE_WIDTH) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_STYLE_COLOR) &&
      attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_STYLE_SHAPE)) {

    setRadius (attributes.value(DOCUMENT_SERIALIZE_POINT_STYLE_RADIUS).toInt());
    setLineWidth (attributes.value(DOCUMENT_SERIALIZE_POINT_STYLE_LINE_WIDTH).toInt());
    setPaletteColor ((ColorPalette) attributes.value(DOCUMENT_SERIALIZE_POINT_STYLE_COLOR).toInt());
    setShape ((PointShape) attributes.value(DOCUMENT_SERIALIZE_POINT_STYLE_SHAPE).toInt());

    // Read until end of this subtree
    while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
    (reader.name() != DOCUMENT_SERIALIZE_POINT_STYLE)){
      loadNextFromReader(reader);
    }
  } else {
    reader.raiseError ("Cannot read point style data");
  }
}
Example #17
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 #18
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 #19
0
QString UpdateChecker::parseText(QXmlStreamReader& reader){
    QString result;
    reader.readNext();
    if(reader.tokenType() == QXmlStreamReader::Characters)
      result = reader.text().toString();
    return result;
}
// xml convenience function - find the first end tag with the given tagname
// Note that this is not as smart as xml.skipCurrentElement(), and does
// not handle the case where (grand)children node share tagName
// With this caveat, can be called from within any (grand)child node.
static inline void findEndTag( QXmlStreamReader& xml, QString tagName )
{
    while( !xml.atEnd() && !( xml.tokenType() == xml.EndElement && xml.name() == tagName))
    {
        xml.readNext();
    }
}
Example #21
0
/*!
    \internal
*/
void PluginSpecPrivate::readDependencyEntry(QXmlStreamReader &reader)
{
    PluginDependency dep;
    dep.name = reader.attributes().value(QLatin1String(DEPENDENCY_NAME)).toString();
    if (dep.name.isEmpty()) {
        reader.raiseError(msgAttributeMissing(DEPENDENCY, DEPENDENCY_NAME));
        return;
    }
    dep.version = reader.attributes().value(QLatin1String(DEPENDENCY_VERSION)).toString();
    if (!dep.version.isEmpty() && !isValidVersion(dep.version)) {
        reader.raiseError(msgInvalidFormat(DEPENDENCY_VERSION));
        return;
    }
    dep.type = PluginDependency::Required;
    if (reader.attributes().hasAttribute(QLatin1String(DEPENDENCY_TYPE))) {
        QString typeValue = reader.attributes().value(QLatin1String(DEPENDENCY_TYPE)).toString();
        if (typeValue == QLatin1String(DEPENDENCY_TYPE_HARD)) {
            dep.type = PluginDependency::Required;
        } else if (typeValue == QLatin1String(DEPENDENCY_TYPE_SOFT)) {
            dep.type = PluginDependency::Optional;
        } else {
            reader.raiseError(msgInvalidFormat(DEPENDENCY_TYPE));
            return;
        }
    }
    dependencies.append(dep);
    reader.readNext();
    if (reader.tokenType() != QXmlStreamReader::EndElement)
        reader.raiseError(msgUnexpectedToken());
}
Example #22
0
void TPluginSpecPrivate::ReadDependencies(QXmlStreamReader &XmlReader)
   {
      QString Element;
      while(!XmlReader.atEnd())
         {
            XmlReader.readNext();
            switch(XmlReader.tokenType())
               {
                  case QXmlStreamReader::StartElement:
                     Element = XmlReader.name().toString();
                     if(Element == DEPENDENCY)
                        ReadDependencyEntry(XmlReader);
                     else
                        XmlReader.raiseError(QString("TPluginSpecPrivate::Read(const QString &SpecFile): Invalid element '%1'").arg(Name));
                     break;
                  case QXmlStreamReader::Comment:
                  case QXmlStreamReader::Characters:
                     break;
                  case QXmlStreamReader::EndElement:
                     Element = XmlReader.name().toString();
                     if(Element == DEPENDENCYLIST)
                        return;
                     XmlReader.raiseError(QString("TPluginSpecPrivate::Read(const QString &SpecFile): Unexpected closing element '%1'").arg(Name));
                     break;
                  default:
                     XmlReader.raiseError(QString("TPluginSpecPrivate::ReadPluginSpec: Unexpected token"));
                     break;
               }
         }
   }
Example #23
0
/*!
    \internal
*/
void PluginSpecPrivate::readArgumentDescriptions(QXmlStreamReader &reader)
{
    QString element;
    while (!reader.atEnd()) {
        reader.readNext();
        switch (reader.tokenType()) {
        case QXmlStreamReader::StartElement:
            element = reader.name().toString();
            if (element == QLatin1String(ARGUMENT))
                readArgumentDescription(reader);
            else
                reader.raiseError(msgInvalidElement(name));
            break;
        case QXmlStreamReader::Comment:
        case QXmlStreamReader::Characters:
            break;
        case QXmlStreamReader::EndElement:
            element = reader.name().toString();
            if (element == QLatin1String(ARGUMENTLIST))
                return;
            reader.raiseError(msgUnexpectedClosing(element));
            break;
        default:
            reader.raiseError(msgUnexpectedToken());
            break;
        }
    }
}
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 {
Example #25
0
/*!
    \internal
*/
void PluginSpecPrivate::readDependencies(QXmlStreamReader &reader)
{
    QString element;
    while (!reader.atEnd()) {
        reader.readNext();
        switch (reader.tokenType()) {
        case QXmlStreamReader::StartElement:
            element = reader.name().toString();
            if (element == QLatin1String(DEPENDENCY))
                readDependencyEntry(reader);
            else
                reader.raiseError(msgInvalidElement(name));
            break;
        case QXmlStreamReader::Comment:
        case QXmlStreamReader::Characters:
            break;
        case QXmlStreamReader::EndElement:
            element = reader.name().toString();
            if (element == QLatin1String(DEPENDENCYLIST))
                return;
            reader.raiseError(msgUnexpectedClosing(element));
            break;
        default:
            reader.raiseError(msgUnexpectedToken());
            break;
        }
    }
}
Example #26
0
void GdalAdapter::fromXML(QXmlStreamReader& stream)
{
    theBbox = QRectF();
    theImages.clear();

    while(!stream.atEnd() && !stream.isEndElement()) {
        if (stream.name() == "Images") {
            if (stream.attributes().hasAttribute("projection"))
                theProjection = stream.attributes().value("projection").toString();
            if (stream.attributes().hasAttribute("source"))
                theSourceTag = stream.attributes().value("source").toString();
            stream.readNext();
            while(!stream.atEnd() && !stream.isEndElement()) {
                if (stream.name() == "Image") {
                    QString fn = stream.attributes().value("filename").toString();
                    if (!fn.isEmpty())
                        loadImage(fn);
                    stream.readNext();
                } else if (!stream.isWhitespace()) {
                    qDebug() << "gdalimage: logic error: " << stream.name() << " : " << stream.tokenType() << " (" << stream.lineNumber() << ")";
                    stream.skipCurrentElement();
                }
                stream.readNext();
            }
        } else if (!stream.isWhitespace()) {
            qDebug() << "gdalmain: logic error: " << stream.name() << " : " << stream.tokenType() << " (" << stream.lineNumber() << ")";
            stream.skipCurrentElement();
        }

        stream.readNext();
    }
}
CmdSettingsCurveAddRemove::CmdSettingsCurveAddRemove (MainWindow &mainWindow,
        Document &document,
        const QString &cmdDescription,
        QXmlStreamReader &reader) :
    CmdAbstract (mainWindow,
                 document,
                 cmdDescription)
{
    LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsCurveAddRemove::CmdSettingsCurveAddRemove";

    bool success = true;

    // Read until end of this subtree
    bool isBefore = true;
    while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
            (reader.name() != DOCUMENT_SERIALIZE_CMD)) {
        loadNextFromReader(reader);
        if (reader.atEnd()) {
            xmlExitWithError (reader,
                              QString ("%1 %2")
                              .arg (QObject::tr ("Reached end of file before finding end element for"))
                              .arg (DOCUMENT_SERIALIZE_CMD));
            success = false;
            break;
        }

        if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
                (reader.name() == DOCUMENT_SERIALIZE_CURVES_GRAPHS)) {

            if (isBefore) {

                m_curvesGraphsBefore.loadXml (reader);
                isBefore = false;

            } else {

                m_curvesGraphsAfter.loadXml (reader);

            }
        }
    }

    if (!success) {
        reader.raiseError ("Cannot read curve add/remove settings");
    }
}
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);
	}
}
CmdSettingsColorFilter::CmdSettingsColorFilter (MainWindow &mainWindow,
                                                Document &document,
                                                const QString &cmdDescription,
                                                QXmlStreamReader &reader) :
  CmdAbstract (mainWindow,
               document,
               cmdDescription)
{
  LOG4CPP_INFO_S ((*mainCat)) << "CmdSettingsColorFilter::CmdSettingsColorFilter";

  bool success = true;

  // Read until end of this subtree
  bool isBefore = true;
  while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
  (reader.name() != DOCUMENT_SERIALIZE_CMD)){
    loadNextFromReader(reader);
    if (reader.atEnd()) {
      xmlExitWithError (reader,
                        QString ("Reached end of file before finding end element for %1")
                        .arg (DOCUMENT_SERIALIZE_CMD));
      success = false;
      break;
    }

    if ((reader.tokenType() == QXmlStreamReader::StartElement) &&
        (reader.name() == DOCUMENT_SERIALIZE_FILTER)) {

      if (isBefore) {

        m_modelColorFilterBefore.loadXml (reader);
        isBefore = false;

      } else {

        m_modelColorFilterAfter.loadXml (reader);

      }
    }
  }

  if (!success) {
    reader.raiseError ("Cannot read color filter settings");
  }
}
NeuronBlueprint::NeuronBlueprint(QXmlStreamReader & xml)
{
  externalInputIds.clear();
  neuronalInputIds.clear();
  brainalInputIds.clear();
  weightIds.clear();
  while(!xml.atEnd()
        && !(xml.name() == "neuron"
             && xml.tokenType() == QXmlStreamReader::EndElement))
  {
    QXmlStreamReader::TokenType token = xml.readNext();
    if(token == QXmlStreamReader::StartElement) // Attributs x 5
    {
      if(xml.name() == "external-input-ids")
      {
        QString str = xml.readElementText();
        if(str.size())
        {
          QStringList strList = str.split(';');
          for(int i = 0 ; i < strList.size() ; i++)
            addExternalInputId(strList[i].toInt());
        }
      }
      if(xml.name() == "neuronal-input-ids")
      {
        QString str = xml.readElementText();
        if(str.size())
        {
          QStringList strList = str.split(';');
          for(int i = 0 ; i < strList.size() ; i++)
            addNeuronalInputId(strList[i].toInt());
        }
      }
      if(xml.name() == "brainal-input-ids")
      {
        QString str = xml.readElementText();
        if(str.size())
        {
          QStringList strList = str.split(';');
          for(int i = 0 ; i < strList.size() ; i++)
            addBrainalInputId(strList[i].toInt());
        }
      }
      if(xml.name() == "weight-ids")
      {
        QString str = xml.readElementText();
        if(str.size())
        {
          QStringList strList = str.split(';');
          for(int i = 0 ; i < strList.size() ; i++)
            addWeightId(strList[i].toInt());
        }
      }
    }
  }
  //qDebug() << externalInputIds.size() << neuronalInputIds.size() << brainalInputIds.size();
}