From: Carsten Niehaus Date: Mon, 30 May 2005 13:42:58 +0000 (+0000) Subject: * add the origin of the name of an element X-Git-Tag: v3.80.2~300^2~136 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=db5258a14a8647e16e2413bed06333d620e58a84;p=libqmvoc.git * add the origin of the name of an element 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 --- diff --git a/kalzium/src/element.cpp b/kalzium/src/element.cpp index 672e50c..6c099e6 100644 --- a/kalzium/src/element.cpp +++ b/kalzium/src/element.cpp @@ -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); diff --git a/kalzium/src/element.h b/kalzium/src/element.h index f54f5e0..4e2247c 100644 --- a/kalzium/src/element.h +++ b/kalzium/src/element.h @@ -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;