view data/fileio/QueryConfigReader.h @ 227:59d84a8bb76c

compatibility with changes done for the web site: - easaier servlet name changed - new queryfield.xml ("range" attributes form)
author lbajardsilogic
date Wed, 27 Feb 2008 16:00:02 +0000
parents 11e298cdb9e7
children
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 _QUERY_CONFIG_READER_H_
#define _QUERY_CONFIG_READER_H_

#include <QXmlDefaultHandler>

class QueryModel;

class QueryConfigReader 
{
public:
	QueryConfigReader(QueryModel * queryModel);
	virtual ~QueryConfigReader(){}

	bool parse(const QString & filename);

private:

	QueryModel	*m_queryModel;
};

class QueryConfigHandler : public QXmlDefaultHandler
{
public:
	QueryConfigHandler(QueryModel * queryModel);

	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);


private:

	bool	m_inTheme;
	bool	m_inFieldGroup;
	bool	m_inBinding;

	QString m_propertyName;

	QueryModel	*m_queryModel;
};

#endif