File indexing completed on 2024-04-28 07:28:53

0001 /*
0002     SPDX-FileCopyrightText: 2005 Carsten Niehaus <cniehaus@kde.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 
0006 #ifndef SPECTRUMPARSER_H
0007 #define SPECTRUMPARSER_H
0008 
0009 #include "science_export.h"
0010 
0011 #include <QXmlAttributes>
0012 #include <QXmlDefaultHandler>
0013 
0014 #include "spectrum.h"
0015 
0016 #include "chemicaldataobject.h"
0017 
0018 class Spectrum;
0019 
0020 /**
0021  * @author Carsten Niehaus <cniehaus@kde.org>
0022  */
0023 class SCIENCE_EXPORT SpectrumParser : public QXmlDefaultHandler
0024 {
0025 public:
0026     /**
0027      * Constructor
0028      */
0029     SpectrumParser();
0030     ~SpectrumParser() override;
0031     bool startElement(const QString &, const QString &localName, const QString &, const QXmlAttributes &attrs) override;
0032 
0033     bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName) override;
0034 
0035     bool characters(const QString &ch) override;
0036 
0037     QList<Spectrum *> getSpectrums() const;
0038 
0039 private:
0040     QString currentElementID;
0041 
0042 private:
0043     class Private;
0044     Private *const d;
0045 };
0046 
0047 #endif // SPECTRUMPARSER_H