1 #ifndef OPTIONSTREEREADER_H
2 #define OPTIONSTREEREADER_H
3 
4 #include "atomicxmlfile/atomicxmlfile.h"
5 
6 #include <QVariant>
7 
8 class OptionsTree;
9 class VariantTree;
10 
11 class QStringList;
12 class QSize;
13 class QRect;
14 
15 class OptionsTreeReader : public AtomicXmlFileReader
16 {
17 public:
18 	OptionsTreeReader(OptionsTree*);
19 
20 	// reimplemented
21 	virtual bool read(QIODevice* device);
22 
23 protected:
24 	void readTree(VariantTree* tree);
25 	QVariant readVariant(const QString& type);
26 	void readUnknownElement(QXmlStreamWriter* writer);
27 
28 	QStringList readStringList();
29 	QVariantList readVariantList();
30 	QSize readSize();
31 	QRect readRect();
32 
33 private:
34 	OptionsTree* options_;
35 	QString unknown_;
36 };
37 
38 
39 #endif
40