]> Git trees. - libqmvoc.git/commitdiff
* add the origin of the name of an element
authorCarsten Niehaus <cniehaus@gmx.de>
Mon, 30 May 2005 13:42:58 +0000 (13:42 +0000)
committerCarsten Niehaus <cniehaus@gmx.de>
Mon, 30 May 2005 13:42:58 +0000 (13:42 +0000)
  TODO: Improve the infodilaog
  * add the ionic radii.
    TODO: Only one value possible but some elements (eg Fe) has more
than one ionic radius. But that is for kde4 I guess

svn path=/trunk/KDE/kdeedu/kalzium/src/element.cpp; revision=419733

kalzium/src/element.cpp
kalzium/src/element.h

index 672e50c16035ab5755b2628edbd16193f89015e8..6c099e65a0314fc549c25dd8e27b25f3fb06591c 100644 (file)
@@ -146,9 +146,12 @@ const QString Element::adjustUnits( const int type )
                else
                        v = QString::number( val );
        }
-       else if ( type == RADIUS ) // its a length
+       else if ( type == RADIUS || IONICRADIUS ) // its a length
        {
-               val = radius();
+               if ( type == RADIUS )
+                       val = radius();
+               else if ( type == IONICRADIUS )
+                       val = ionicValue();
 
                if ( val == -1 )
                        v = i18n( "Value unknown" );
@@ -546,6 +549,10 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                double bp = domElement.namedItem( "boilingpoint" ).toElement().text().toDouble();
                double density = domElement.namedItem( "density" ).toElement().text().toDouble();
                double atomic_radius = domElement.namedItem( "radius" ).namedItem( "atomic" ).toElement().text().toDouble();
+               double ionic_radius = domElement.namedItem( "radius" ).namedItem( "ionic" ).toElement().text().toDouble();
+               QString ionic_charge = domElement.namedItem( "radius" ).namedItem( "ionic" ).toElement().attributeNode( "charge" ).value();
+               
+               kdDebug() << "Charge: " << ionic_charge << " Value: " << ionic_radius << endl;
                
                int bio = domElement.namedItem( "biologicalmeaning" ).toElement().text().toInt();
                int az = domElement.namedItem( "aggregation" ).toElement().text().toInt();
@@ -554,7 +561,11 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                
                QString scientist = domElement.namedItem( "date" ).toElement().attributeNode( "scientist" ).value();
                QString crystal = domElement.namedItem( "crystalstructure" ).toElement().text();
-               QString name = domElement.namedItem( "name" ).toElement().text();
+               
+               QDomElement nameE = domElement.namedItem( "name" ).toElement();
+               QString name = nameE.text();
+               QString origin = nameE.attributeNode( "origin" ).value();
+               
                QString block = domElement.namedItem( "block" ).toElement().text();
                QString group = domElement.namedItem( "group" ).toElement().text();
                QString family = domElement.namedItem( "family" ).toElement().text();
@@ -576,10 +587,12 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                e->setBiologicalMeaning(bio);
                e->setAggregation(az);
                e->setNumber( number );
+               e->setIonicValues( ionic_radius, ionic_charge );
                
                e->setScientist(scientist);
                e->setCrysatalstructure( crystal );
                e->setName(name);
+               e->setOrigin(origin);
                e->setBlock(block);
                e->setGroup(group);
                e->setFamily(family);
index f54f5e0bbe344df4099bb31557aa1faa1d34fc72..4e2247c096ba358a9a6d4e1e49671f0c23710363 100644 (file)
@@ -83,6 +83,23 @@ class Element{
                int number() const {
                        return m_number;
                }
+
+               void setIonicValues(double v, const QString& c){
+                       m_ionic_value = v;
+                       m_ionic_charge = c;
+               }
+
+               QString ionicCharge() const{
+                       return m_ionic_charge;
+               }
+
+               double ionicValue() const{
+                       return m_ionic_value;
+               }
+
+               QString nameOrigin() const{
+                       return m_origin;
+               }
                
                void setMass( double value ) { m_mass = value; }
                void setEN( double value ) { m_EN = value; }
@@ -99,6 +116,7 @@ class Element{
                void setScientist( const QString& value ) { m_scientist = value; }
                void setCrysatalstructure( const QString& value ) { m_crystalstructure = value; }
                void setName( const QString& value ) { m_name = value; }
+               void setOrigin( const QString& value ) { m_origin = value; }
                void setBlock( const QString& value ) { m_block = value; }
                void setGroup( const QString& value ) { m_group = value; }
                void setFamily( const QString& value ) { m_family = value; }
@@ -295,6 +313,7 @@ class Element{
                {
                        NOGRADIENT = 0,
                        RADIUS,
+                       IONICRADIUS,
                        MASS,
                        DENSITY,
                        BOILINGPOINT,
@@ -340,7 +359,8 @@ class Element{
                        m_BP, 
                        m_EN, 
                        m_Density, 
-                       m_AR;
+                       m_AR,
+                       m_ionic_value;
 
                int     m_number, 
                        m_date,
@@ -349,6 +369,7 @@ class Element{
 
                QString m_symbol,
                        m_name,
+                       m_origin,
                        m_oxstage,
                        m_block,
                        m_group,
@@ -357,7 +378,8 @@ class Element{
                        m_orbits,
                        m_isotopes,
                        m_scientist,
-                       m_crystalstructure;
+                       m_crystalstructure,
+                       m_ionic_charge;
 
                doubleList m_ionenergies;