From 5e9292c777926b306e5c8799fdccddabfd92b76e Mon Sep 17 00:00:00 2001 From: Carsten Niehaus Date: Sun, 3 Sep 2006 11:30:52 +0000 Subject: [PATCH] Yeah, found the bugs :) Everything back to normal svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=580371 --- libscience/elementparser.cpp | 16 +++++--------- libscience/xmlreadingtest.cpp | 41 +++++++++++++++-------------------- 2 files changed, 24 insertions(+), 33 deletions(-) diff --git a/libscience/elementparser.cpp b/libscience/elementparser.cpp index b9230a4..eb07bf5 100644 --- a/libscience/elementparser.cpp +++ b/libscience/elementparser.cpp @@ -177,6 +177,9 @@ bool ElementSaxParser::startElement(const QString&, const QString &localName, co if (attrs.localName(i) == "value") { d->currentDataObject->setData( attrs.value(i) ); d->currentDataObject->setType( ChemicalDataObject::symbol ); + + if ( d->currentElement ) + d->currentElement->addData( d->currentDataObject ); } } } @@ -186,6 +189,9 @@ bool ElementSaxParser::startElement(const QString&, const QString &localName, co if (attrs.localName(i) == "value") { d->currentDataObject->setData( attrs.value(i) ); d->currentDataObject->setType( ChemicalDataObject::name ); + + if ( d->currentElement ) + d->currentElement->addData( d->currentDataObject ); } } } @@ -199,17 +205,7 @@ bool ElementSaxParser::endElement( const QString &, const QString& localName, co if ( localName == "atom" ) { if ( d->currentElement->dataAsString( ChemicalDataObject::symbol ) != "Xx" ) - { d->elements.append(d->currentElement); - - QList list = d->currentElement->data(); - foreach( ChemicalDataObject*o, list ) - { - if ( o ) { - kDebug() << "Name: " << o->dictRef() << " " << o->valueAsString() << endl; - } - } - } d->currentElement = 0; d->currentDataObject = 0; diff --git a/libscience/xmlreadingtest.cpp b/libscience/xmlreadingtest.cpp index e7ae096..1e629e1 100644 --- a/libscience/xmlreadingtest.cpp +++ b/libscience/xmlreadingtest.cpp @@ -14,11 +14,6 @@ int main(int argc, char *argv[]) ElementSaxParser * parser = new ElementSaxParser(); QFile xmlFile(argv[1]); - - if (xmlFile.exists()) - kDebug() << "file exists" << endl; - else - kDebug() << "file DOES NOT exist" << endl; QXmlInputSource source(&xmlFile); QXmlSimpleReader reader; @@ -28,24 +23,24 @@ int main(int argc, char *argv[]) QList v = parser->getElements(); -//X foreach( Element* e, v ){ -//X if ( e ) -//X { -//X QList list = e->data(); -//X -//X //Test: give me all data available -//X foreach( ChemicalDataObject*o, list ){ -//X if ( o ) -//X { -//X QString unit = o->unitAsString(); -//X if ( unit == "bo:noUnit" ) -//X unit = ""; -//X kDebug() << "Name: " << o->dictRef() << " " << o->valueAsString() <<" " << unit << endl; -//X } -//X } -//X } -//X -//X } + foreach( Element* e, v ){ + if ( e ) + { + QList list = e->data(); + + //Test: give me all data available + foreach( ChemicalDataObject*o, list ){ + if ( o ) + { + QString unit = o->unitAsString(); + if ( unit == "bo:noUnit" ) + unit = ""; + kDebug() << "Name: " << o->dictRef() << " " << o->valueAsString() <<" " << unit << endl; + } + } + } + + } return 0; } -- 2.47.3