mkRPG
src/editor/Game/xmlreader.h
Go to the documentation of this file.
00001 #ifndef XMLREADER_H
00002 #define XMLREADER_H
00003 
00004 #include <QtXml>
00005 #include "game.h"
00006 
00017 enum MarkUp{
00018     MU_Invalid,
00019     MU_Files, MU_File,
00020     MU_Game, MU_World,
00021     MU_Background, MU_Parent,
00022     MU_MapType, MU_Map,
00023     MU_CellType, MU_Cell,
00024     MU_ObjectType, MU_Object,
00025     MU_EntityType, MU_Entity,
00026 
00027     MU_Image,
00028     MU_Parameter, MU_Flag,
00029     MU_Event, MU_Order,
00030 };
00031 
00032 #define RegMU(MU) std::pair<QString,MarkUp>(#MU, MU_##MU)
00033 
00036 typedef std::pair<QString,MarkUp> Asso;
00037 const QMap<QString, MarkUp>
00038 markUps({
00039             RegMU(Files),
00040             RegMU(File),
00041             RegMU(Game),
00042             RegMU(World),
00043             RegMU(CellType),
00044             RegMU(MapType),
00045             RegMU(Map),
00046             RegMU(ObjectType),
00047             RegMU(Object),
00048             RegMU(EntityType),
00049             RegMU(Entity),
00050             RegMU(Parent),
00051             RegMU(Cell),
00052             RegMU(Image),
00053             RegMU(Order),
00054             RegMU(Event),
00055             RegMU(Background),
00056          });
00057 
00058 
00065 class XmlTree
00066 {
00067 public:
00068     XmlTree(QXmlStreamReader &reader);
00069 
00070 //private:
00071     MarkUp markUp;
00072     QList<XmlTree*> subTrees;
00073     QString content;
00074     QMap<QString, QString> attributes;
00075 };
00076 
00077 
00078 void readElement(const QDir &dir, const XmlTree &tree, Game *game, QMap<int, int> &identCV);    
00081 Game* importGame(const QString &fileName);                                                      
00089 #endif // XMLREADER_H
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Defines