]> Git trees. - libqmvoc.git/commitdiff
first version of the cml-support. Need feedback from the cml-folks
authorCarsten Niehaus <cniehaus@gmx.de>
Fri, 14 Oct 2005 10:28:41 +0000 (10:28 +0000)
committerCarsten Niehaus <cniehaus@gmx.de>
Fri, 14 Oct 2005 10:28:41 +0000 (10:28 +0000)
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=470556

libscience/spectrumparser.cpp
libscience/spectrumparser.h

index 3ce4e733e2ccc9aeb5fae36cfdc6b55bda6bc4d2..5e6ca45703fbc6ebe36d872987abc5cc20db2c52 100644 (file)
@@ -12,13 +12,12 @@ email                : cniehaus@kde.org
  ***************************************************************************/
 #include "spectrumparser.h"
 #include "spectrum.h"
+#include "element.h"
 
-#include <QList>
-#include <qbytearray.h>
 #include <qdom.h>
-#include <qfile.h>
-#include <qregexp.h>
-#include <qtextstream.h>
+#include <QList>
+#include <QFile>
+#include <QTextStream>
 #include <QString>
 
 #include <kdebug.h>
@@ -40,31 +39,92 @@ void SpectrumParser::saveSpectrum( Spectrum *spectrum )
        QDomDocument doc( "SpectrumDocument" );
        
        QFile docfile( "/home/carsten/test.xml" );
-//     QTextStream stream(  m_file );
 
        QList<Spectrum::band*> blist = spectrum->bandlist();
                
-       QDomElement docelem = doc.createElement(  "spectrum" );
-       doc.appendChild( docelem );
+       QDomElement cmlElement = doc.createElement(  "cml" );
+       QDomElement spectrumListElement = doc.createElement(  "spectrumList" );
+       QDomElement spectrumElement = doc.createElement(  "spectrum" );
+       QDomElement metadataListElement = doc.createElement(  "metadataList" );
+       
+       //metadata
+//X    QDomElement metadataElement = doc.createElement(  "metadata" );
+//X    if ( spectrum )
+//X    {
+//X            metadataElement.setAttribute("content",spectrum->parentElement()->elname() );
+//X            metadataElement.setAttribute("name","ElementName");
+//X    }
+       
+       QDomElement metadataElement2 = doc.createElement(  "metadata" );
+       metadataElement2.setAttribute("content", "National Institute of Standards and Technology" );
+       metadataElement2.setAttribute("name","OWNER");
+       
+       QDomElement peakListElement = doc.createElement(  "peakList" );
+
+       doc.appendChild( cmlElement );
+       cmlElement.appendChild( spectrumListElement );
+       spectrumListElement.appendChild( spectrumElement );
+       spectrumElement.appendChild( metadataListElement );
+//X    if ( spectrum ) 
+//X            metadataListElement.appendChild( metadataElement );
+       metadataListElement.appendChild( metadataElement2 );
+       spectrumElement.appendChild( peakListElement );
 
        foreach( Spectrum::band* band, blist )
        {
-               QDomElement bandelem = doc.createElement(  "band" );
-               bandelem.setAttribute(  "wavelength", band->wavelength );
-               bandelem.setAttribute(  "intensity", band->intensity );
-               bandelem.setAttribute(  "aki", band->aki );
-               bandelem.setAttribute(  "energy1", band->energy1 );
-               bandelem.setAttribute(  "energy2", band->energy2 );
-               bandelem.setAttribute(  "term1", band->term1 );
-               bandelem.setAttribute(  "term2", band->term2 );
-               bandelem.setAttribute(  "electronconfig1", band->electronconfig1 );
-               bandelem.setAttribute(  "electronconfig2", band->electronconfig2 );
-               bandelem.setAttribute(  "J1", band->J1 );
-               bandelem.setAttribute(  "J2", band->J2 );
-               docelem.appendChild( bandelem );
-       }
+               QDomElement peakElement = doc.createElement(  "peak" );
+               peakElement.setAttribute( "id" , "" );
+               peakElement.setAttribute(  "xUnits", "nm" );
+               peakElement.setAttribute(  "xValue", band->wavelength );
+               peakElement.setAttribute(  "yUnits", "Intensity relative to 1000" );
+               peakElement.setAttribute(  "yValue", band->intensity );
 
+               //now the scalar values
+               QDomElement scalar = doc.createElement( "scalar" );
+               QDomElement scalar2 = doc.createElement( "scalar" );
+               QDomElement scalar3 = doc.createElement( "scalar" );
+               QDomElement scalar4 = doc.createElement( "scalar" );
+               QDomElement scalar5 = doc.createElement( "scalar" );
+               QDomElement scalar6 = doc.createElement( "scalar" );
+               QDomElement scalar7 = doc.createElement( "scalar" );
+               QDomElement scalar8 = doc.createElement( "scalar" );
+               QDomElement scalar9 = doc.createElement( "scalar" );
 
+               scalar.setAttribute( "title","aki" );
+               scalar2.setAttribute( "title","energy1" );
+               scalar3.setAttribute( "title","energy2" );
+               scalar4.setAttribute( "title","term1" );
+               scalar5.setAttribute( "title","term2" );
+               scalar6.setAttribute( "title","electronconfig1" );
+               scalar7.setAttribute( "title","electronconfig2" );
+               scalar8.setAttribute( "title","J1" );
+               scalar9.setAttribute( "title","J2" );
+
+               scalar.setNodeValue( "test123" );//QString::number( band->aki ) );
+
+//X            peakElement.setAttribute(  "aki", band->aki );
+//X            peakElement.setAttribute(  "energy1", band->energy1 );
+//X            peakElement.setAttribute(  "energy2", band->energy2 );
+//X            peakElement.setAttribute(  "term1", band->term1 );
+//X            peakElement.setAttribute(  "term2", band->term2 );
+//X            peakElement.setAttribute(  "electronconfig1", band->electronconfig1 );
+//X            peakElement.setAttribute(  "electronconfig2", band->electronconfig2 );
+//X            peakElement.setAttribute(  "J1", band->J1 );
+//X            peakElement.setAttribute(  "J2", band->J2 );
+
+
+               peakElement.appendChild( scalar );
+               peakElement.appendChild( scalar2 );
+               peakElement.appendChild( scalar3 );
+               peakElement.appendChild( scalar4 );
+               peakElement.appendChild( scalar5 );
+               peakElement.appendChild( scalar6 );
+               peakElement.appendChild( scalar7 );
+               peakElement.appendChild( scalar8 );
+               peakElement.appendChild( scalar9 );
+
+               peakListElement.appendChild( peakElement );
+       }
 
        kdDebug() << "Text: " << doc.toString() << endl;
 }
index 776c0058ccf11f786999dcd9c868bd551a2d5ddf..e3e4e73656dd9c0002b3748adf8ba4a20f95865d 100644 (file)
@@ -37,7 +37,7 @@ class SpectrumParser
 
                void saveSpectrum( Spectrum *spectrum );
 
-               Spectrum* loadSpectrum( QFile *file );
+               Spectrum* loadSpectrum( QFile *file, int elementnumber );
 
 //     private:
                QFile m_file;