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