From: Carsten Niehaus Date: Wed, 4 Jan 2006 12:28:08 +0000 (+0000) Subject: Preparing for density X-Git-Tag: v3.80.2~189 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=9ea4f53dd20d727d8c10a4acf3c863befa0ee16f;p=libqmvoc.git Preparing for density svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=494249 --- diff --git a/libscience/chemicaldataobject.cpp b/libscience/chemicaldataobject.cpp index 860faf1..ce02caf 100644 --- a/libscience/chemicaldataobject.cpp +++ b/libscience/chemicaldataobject.cpp @@ -212,6 +212,9 @@ QString ChemicalDataObject::dictRef() const case crystalstructure: botype ="crystalstructure"; break; + case density: + botype ="density"; + break; } botype = botype.prepend( "bo:" ); diff --git a/libscience/chemicaldataobject.h b/libscience/chemicaldataobject.h index ea9ccd5..09ecb7b 100644 --- a/libscience/chemicaldataobject.h +++ b/libscience/chemicaldataobject.h @@ -62,6 +62,7 @@ class ChemicalDataObject crystalstructure/**< own, bcc, hdp, ccp, hcp, fcc, d, sc, tet, rh, or, mono*/, electronicConfiguration/**< the electronic configuration, for example 1s2 for He*/, group/**< This is a value between 1 and 8*/, + density/**< The density */, nameOrigin/**< the origin of the name */, orbit/**< the quantumorbit of the element */, period/**< the period of the element */, diff --git a/libscience/elementparser.cpp b/libscience/elementparser.cpp index 9058cc3..f23033b 100644 --- a/libscience/elementparser.cpp +++ b/libscience/elementparser.cpp @@ -46,7 +46,8 @@ public: inAcidicbehaviour( false ), inFamily( false ), inGroup( false ), - inElectronicconfiguration( false ) + inElectronicconfiguration( false ), + inDensity( false ) { } @@ -79,6 +80,7 @@ public: bool inFamily; bool inGroup; bool inElectronicconfiguration; + bool inDensity; }; ElementSaxParser::ElementSaxParser() @@ -151,6 +153,8 @@ bool ElementSaxParser::startElement(const QString&, const QString &localName, co d->inGroup = true; else if (attrs.value(i) == "bo:electronicConfiguration") d->inElectronicconfiguration = true; + else if (attrs.value(i) == "bo:density") + d->inDensity = true; } } return true; @@ -293,6 +297,11 @@ bool ElementSaxParser::characters(const QString &ch) type = ChemicalDataObject::electronicConfiguration; d->inElectronicconfiguration = false; } + else if (d->inDensity){ + value = ch.toDouble(); + type = ChemicalDataObject::density; + d->inDensity = false; + } else//it is a non known value. Do not create a wrong object but return return true;