]> Git trees. - libqmvoc.git/commitdiff
* xml-conversion is done. I hope everything works, I didn't see any bugs.
authorCarsten Niehaus <cniehaus@gmx.de>
Sun, 13 Mar 2005 18:47:22 +0000 (18:47 +0000)
committerCarsten Niehaus <cniehaus@gmx.de>
Sun, 13 Mar 2005 18:47:22 +0000 (18:47 +0000)
One more thing left to do: Ionisationenergy is not yet read from the
xml-file.

* make more use of KalziumDataObject

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

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

index e9767b8bcfb5bbca9ea08215b2eb81c61255b028..68f76598556d440329c81a28d0090bc1d244fdfd 100644 (file)
 
 #define ELEMENTSIZE 45
 
-Element::Element( int num )
-{
-       m_number = num;
-
-//X    m_IE=config.readDoubleNumEntry( "IE", -1 );
-//X    m_IE2=config.readDoubleNumEntry( "IE2", -1 );
-
-       setupXY();
-}
-
 Element::Element()
 {
-       setupXY();
 };
 
 QString Element::parsedOrbits()
@@ -356,7 +345,7 @@ void Element::drawSelf( QPainter* p, bool useSimpleView )
        int h_small = 15; //the size for the small units like elementnumber
 
        //The X-coordiante
-       int X = 0;
+       int X;
        
        if ( useSimpleView )
        {//use the small periodic table without the d- and f-Block
@@ -463,22 +452,16 @@ KalziumDataObject::KalziumDataObject()
        layoutFile.close();
 
        ElementList = readData( doc );
-
-       kdDebug() << ElementList.count() << " elements read" << endl;
-
-       //X     for( int i = 1 ; i < 112 ; ++i )
-       //X     {
-       //X             Element *e = new Element( i );
-       //X             coordinate point; point.x =  e->x; point.y = e->y;
-       //X 
-       //X             CoordinateList.append( point );
-       //X             ElementList.append( e );
-       //X     }
 }
 
 KalziumDataObject::~KalziumDataObject()
 {}
 
+Element* KalziumDataObject::element( int number )
+{
+       return *( ElementList.at( number-1 ) );
+}
+
 EList KalziumDataObject::readData(  QDomDocument &dataDocument )
 {
        EList list;
@@ -491,6 +474,10 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
        for ( uint i = 0; i < elementNodes.count(); ++i )
        {//iterate through all elements
                domElement = ( const QDomElement& ) elementNodes.item( i ).toElement();
+
+//TODO IE
+//X    m_IE=config.readDoubleNumEntry( "IE", -1 );
+//X    m_IE2=config.readDoubleNumEntry( "IE2", -1 );
                
                double weight = domElement.namedItem( "weight" ).toElement().text().toDouble();
                double en = domElement.namedItem( "electronegativity" ).toElement().text().toDouble();
@@ -502,6 +489,7 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                int bio = domElement.namedItem( "biologicalmeaning" ).toElement().text().toInt();
                int az = domElement.namedItem( "aggregation" ).toElement().text().toInt();
                int date = domElement.namedItem( "date" ).toElement().text().toInt();
+               int number = domElement.namedItem( "number" ).toElement().text().toInt();
                
                QString scientist = domElement.namedItem( "date" ).toElement().attributeNode( "scientist" ).value();
                QString name = domElement.namedItem( "name" ).toElement().text();
@@ -518,6 +506,7 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                e->setDate(date);
                e->setBiologicalMeaning(bio);
                e->setAggregation(az);
+               e->setNumber( number );
                
                e->setScientist(scientist);
                e->setName(name);
@@ -537,7 +526,11 @@ EList KalziumDataObject::readData(  QDomDocument &dataDocument )
                e->setDensity( density );
                e->setAtomicRadius( atomic_radius );
 
+               e->setupXY();
+
                list.append( e );
+               coordinate point; point.x =  e->x; point.y = e->y;
+               CoordinateList.append( point );
        }
        
        return list;
index 3a47ead5950a12177deb906acd9e234532e5a8b1..4653473f248685f7b1befb764cf26d09e0427387 100644 (file)
@@ -49,6 +49,8 @@ class KalziumDataObject
                
                CList CoordinateList;
 
+               Element* element( int number );
+
        private:
                EList readData( QDomDocument &dataDocument );
 };
@@ -67,8 +69,7 @@ struct coordinate{
 */
 class Element{
        public:
-               Element( int );
-               Element( );
+               Element();
 
                virtual ~Element();
 
@@ -89,6 +90,7 @@ class Element{
                void setDate( int date ) { m_date = date; }
                void setBiologicalMeaning( int value ) { m_biological = value; }
                void setAggregation( int value ) { m_az = value; }
+               void setNumber( int num ){ m_number = num; }
 
                void setScientist( QString value ) { m_scientist = value; }
                void setName( QString value ) { m_name = value; }
@@ -303,10 +305,10 @@ class Element{
     QColor elementColor() const { 
                return m_Color; 
        }
+               
+       void setupXY();
 
        private:
-               void setupXY();
-               
                /*
                 * the integer num represents the number of the element
                 */