annotate data/fileio/ModelReader.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 3e35ed5332cb
children
rev   line source
lbajardsilogic@15 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@15 2
lbajardsilogic@15 3 /* Sound Access
lbajardsilogic@15 4 EASAIER client application.
lbajardsilogic@15 5 Silogic 2007. Laure Bajard.
lbajardsilogic@15 6
lbajardsilogic@15 7 This program is free software; you can redistribute it and/or
lbajardsilogic@15 8 modify it under the terms of the GNU General Public License as
lbajardsilogic@15 9 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@15 10 License, or (at your option) any later version. See the file
lbajardsilogic@15 11 COPYING included with this distribution for more information.
lbajardsilogic@15 12 */
lbajardsilogic@15 13
lbajardsilogic@15 14 #ifndef _MODEL_READER_H_
lbajardsilogic@15 15 #define _MODEL_READER_H_
lbajardsilogic@15 16
lbajardsilogic@15 17 #include <QXmlDefaultHandler>
lbajardsilogic@15 18
lbajardsilogic@15 19 #include <map>
lbajardsilogic@15 20
lbajardsilogic@15 21 class Document;
lbajardsilogic@15 22 class Layer;
lbajardsilogic@15 23 class Model;
lbajardsilogic@15 24 class Pane;
lbajardsilogic@15 25
lbajardsilogic@15 26 class ModelReader
lbajardsilogic@15 27 {
lbajardsilogic@15 28 public:
lbajardsilogic@15 29 ModelReader(Document *document, Layer * layer = 0, Pane* pane = 0);
lbajardsilogic@15 30 virtual ~ModelReader(){}
lbajardsilogic@15 31
lbajardsilogic@15 32 bool parse(const QString & filename);
lbajardsilogic@15 33
lbajardsilogic@15 34 private:
lbajardsilogic@15 35 Document *m_document;
lbajardsilogic@15 36 Layer *m_layer;
lbajardsilogic@15 37 Pane *m_pane;
lbajardsilogic@15 38
lbajardsilogic@15 39 };
lbajardsilogic@15 40
lbajardsilogic@15 41 class ModelHandler : public QXmlDefaultHandler
lbajardsilogic@15 42 {
lbajardsilogic@15 43 public:
lbajardsilogic@15 44 ModelHandler(Document *document, Layer * layer = 0, Pane* pane = 0);
lbajardsilogic@15 45
lbajardsilogic@15 46 bool startElement(const QString &namespaceURI, const QString &localName,
lbajardsilogic@15 47 const QString &qName, const QXmlAttributes &attributes);
lbajardsilogic@15 48 bool endElement(const QString &namespaceURI, const QString &localName,
lbajardsilogic@15 49 const QString &qName);
lbajardsilogic@15 50 bool characters(const QString &str);
lbajardsilogic@15 51 bool error(const QXmlParseException &exception);
lbajardsilogic@15 52 bool fatalError(const QXmlParseException &exception);
lbajardsilogic@15 53
lbajardsilogic@251 54 void addNewData();
lbajardsilogic@251 55 void addDataInterval();
lbajardsilogic@251 56 void addDataTimeInstants();
lbajardsilogic@251 57
lbajardsilogic@15 58 private:
lbajardsilogic@15 59 Document *m_document;
lbajardsilogic@15 60 Layer *m_layer;
lbajardsilogic@15 61 Pane *m_pane;
lbajardsilogic@15 62
lbajardsilogic@15 63 Model *m_model;
lbajardsilogic@15 64
lbajardsilogic@251 65 bool m_inBinding;
lbajardsilogic@251 66 QString m_curBindingName;
lbajardsilogic@251 67 std::map<QString, QString> m_info;
lbajardsilogic@251 68
lbajardsilogic@251 69 int m_sampleRate;
benoitrigolleau@240 70
lbajardsilogic@15 71 };
lbajardsilogic@15 72
lbajardsilogic@15 73 #endif