Mercurial > hg > easaier-soundaccess
view data/fileio/ModelReader.h @ 15:11e298cdb9e7
add
- EasaierSessionManager
- Easaier menus
- Interval model
author | lbajardsilogic |
---|---|
date | Mon, 14 May 2007 13:10:49 +0000 |
parents | |
children | e006f4a57f86 |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sound Access EASAIER client application. Silogic 2007. Laure Bajard. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #ifndef _MODEL_READER_H_ #define _MODEL_READER_H_ #include <QXmlDefaultHandler> #include <map> class Document; class Layer; class Model; class Pane; class ModelReader { public: ModelReader(Document *document, Layer * layer = 0, Pane* pane = 0); virtual ~ModelReader(){} bool parse(const QString & filename); private: Document *m_document; Layer *m_layer; Pane *m_pane; }; class ModelHandler : public QXmlDefaultHandler { public: ModelHandler(Document *document, Layer * layer = 0, Pane* pane = 0); bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes); bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName); bool characters(const QString &str); bool error(const QXmlParseException &exception); bool fatalError(const QXmlParseException &exception); bool readModel(const QXmlAttributes &attributes); bool readDatasetStart(const QXmlAttributes &attributes); bool readRowData(const QString &text); bool addPointToDataset(const QXmlAttributes &attributes); bool addBinToDataset(const QXmlAttributes &attributes); bool addRowToDataset(const QXmlAttributes &attributes); bool addIntervalToDataset(const QXmlAttributes &attributes); bool readLayer(const QXmlAttributes &attributes); private: Document *m_document; Layer *m_layer; Pane *m_pane; Model *m_model; bool m_inData; bool m_inRow; int m_rowNumber; QString m_datasetSeparator; }; #endif