00001 00023 #ifndef XMLRW_H 00024 #define XMLRW_H 00025 00026 #include <QDomDocument> 00027 #include "module_loader.h" 00028 #include "property_model.h" 00029 00031 class XmlWrite : public QObject 00032 { 00033 public: 00034 XmlWrite(); 00035 bool write(const QString&); 00036 void addScene(const QGraphicsScene*, const QString&, double); 00037 void addController(ControllerInterface*); 00038 00039 private: 00040 void addProperty(IProperty*, QDomElement*); 00041 00042 QDomDocument m_domDoc; 00043 QDomElement m_rootElem; 00044 PropertyModel m_model; 00045 }; 00046 00048 class XmlRead : public QObject 00049 { 00050 Q_OBJECT 00051 00052 signals: 00053 void newScene(const QString&, double); 00054 void newPlugin(QGraphicsItem*); 00056 public: 00057 XmlRead(); 00058 bool read(const QString&); 00059 00060 private: 00061 void readScenes(); 00062 void readController(); 00063 void readProperty(QDomElement*, ModuleInterface*); 00064 00065 QDomDocument m_domDoc; 00066 QDomElement m_rootElem; 00067 PropertyModel m_model; 00068 }; 00069 00070 #endif